我正在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';
}
它不提供任何输出。它应该在一分钟后自动打印“你好”吗?但事实并非如此。输出显示在哪里?
答案 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”,以便在底部看到。
希望它也有助于其他人。