安排laravel 5.3在Windows中每分钟运行一次的任务

时间:2017-05-05 02:19:21

标签: php windows batch-file laravel-5.3

我正在laravel 5.3中开发一个项目,在我创建的特定命令中打印“Hello”。 我想每1分钟后调用一次这个命令。 我知道在linux中你可以使用cron来安排任务,但是我使用的是Windows,所以我使用windows tak来安排一个.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中的schedule函数如下所示:

protected function schedule(Schedule $schedule)
 {
  $schedule->command('custome:command')->everyMinute();
 }

将要调用的实际任务如下所示

 public function handle()
{
  echo 'Hello';
}

它不提供任何输出。它应该在一分钟后自动打印“你好”吗?但事实并非如此。输出显示在哪里?

1 个答案:

答案 0 :(得分:0)

我将为您简化流程。

您的.bat文件的内容应该是 “C:\ wamp64 \ bin \ php \ php7.0.10 \ php.exe”“c:\ Users \ User \ Desktop \ alerts \ artisan”“schedule:run”

注意:根据您提问的目录。

创建一个任务,并将此.bat文件作为Windows上任务计划程序中的“操作”进行调用。

public function handle(){ logger("Hello"); }

记录器功能会将您的消息输出到默认的laravel日志文件“laravel.log”,以便在底部看到。

希望它也有助于其他人。