我正在 laravel 5.3 中开发一个项目,其中我创建的特定命令打印“Hello”。 我希望每 1 分钟调用一次此命令。 我知道在 Linux 中你可以使用 cron 来安排任务,但我使用的是 Windows,所以我使用 Windows taks 来安排一个 .bat 文件每 1 分钟运行一次,但它不起作用。
我的 .bat 文件看起来像这样
cd c:\Users\User\Desktop\alerts
C:\wamp64\bin\php\php7.0.10\php.exe artisan schedule:run 1>> NUL 2>&1
Kernel.php 中的调度函数如下所示:
protected function schedule(Schedule $schedule)
{
$schedule->command('custome:command')->everyMinute();
}
实际调用的任务是这样的
public function handle()
{
echo 'Hello';
}
它不提供任何输出。它应该会在一分钟后自动打印“Hello”,对吗?但事实并非如此。输出显示在哪里?
最佳答案
我将为您简化流程。
.bat 文件的内容应该是 "C:\wamp64\bin\php\php7.0.10\php.exe""c:\Users\User\Desktop\alerts\artisan""schedule:run"
注意:根据您问题中的目录。
创建一个任务并在 Windows 的任务计划程序中将此 .bat 文件称为“操作”。
public function handle(){ logger("Hello"); }
记录器功能会将您的消息输出到默认的 laravel 日志文件“laravel.log”,供您在底部查看。
希望对其他人也有帮助。
关于php - 安排 laravel 5.3 任务在 Windows 中每分钟运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43795459/