给出以下代码段:
$schedule->call(function () {
// echo "HELLO 123"; // nope
// return "HELLO 123"; // also nope
})
->everyMinute()
->sendOutputTo(storage_path('logs/cron/hello.cron.log'))
->emailOutputTo('me@example.org');
计划任务正在运行,正在生成电子邮件,但没有内容。我可以通过$schedule->exec
和$schedule->command
捕获输出。
理想的最终状态是,在call
方法中运行一些内部非命令进程,并将结果输出到文件/电子邮件中。
答案 0 :(得分:5)
我只是用Google laravel scheduled output
和documentation(红色框中的锚点上方)搜索了您正在使用的课程的文档:
Note: The emailOutputTo and sendOutputTo methods are exclusive to the
command method and are not supported for call.
希望有所帮助。
答案 1 :(得分:2)
接受的答案让我得到了解决方案,但供将来参考:
$schedule->call(function () {
// Do stuff
// Report to file
\Storage::append('logs/cron/hello.cron.log', "HELLO 123");
})->everyMinute();