您好我用Laravel
运行CRON JOBLaravel中的函数声明
protected function schedule(Schedule $schedule)
{
echo "test CRON JOB\n";
$file1 = '1.log';
$file2 = '2.log';
$schedule->command('command1')->sendOutputTo($file1);
$schedule->command('command2')->sendOutputTo($file2);
}
CRON JOB - 设置
pathToArtisan schedule:run 2>&1 >> /home/log/cron_output.log
日志文件输出(cron_output.log)
test CRON JOB
Running scheduled command: '/opt/alt/php55/usr/bin/php' 'artisan'command1 > '1.log' 2>&1 &
Running scheduled command: '/opt/alt/php55/usr/bin/php' 'artisan' command2 > '2.log' 2>&1 &
显示功能计划中的回显,但命令1和命令2中的回显不是。
我试过
echo "test"; $this->info('test');
没有文件1.log或2.log既不创建/ home / log /,也不创建Kernel.php文件或Command文件夹
有什么想法吗?
谢谢
答案 0 :(得分:19)
您应该在Laravel中使用内置的task output方法。
例如:
$file = 'command1_output.log';
$schedule->command('command1')
->sendOutputTo($file);
答案 1 :(得分:1)
现在一切都好。
$schedule->command('command1')
->sendOutputTo($file);
并在你的命令中
$this->info('test')
文件是在我的应用程序的根文件夹中创建的,所以我没有看到它们!
谢谢
答案 2 :(得分:1)
$schedule->command('my:command')
->daily()
->onSuccess(function () {
// The task succeeded...
//set flag here and store to DB
})
->onFailure(function () {
// The task failed...
//set flag here and store to DB
});
在管理仪表板中显示列表,以便您可以使用这些标志(cron 状态)检查日志