从App::call()返回一个值



我有点冒险了;我正试图指导一个长期运行的脚本工匠。App::call()是否有可能返回一个字符串值,或者甚至可能在长时间运行脚本完成后发送电子邮件?

我正试图寻找更多的信息,但它是正确的假设,如果工匠正在运行,我可以重定向用户到一个等待页面,也许是一个循环的gif?

使用Queue::push()和适当的驱动程序(可能是数据库)将长时间运行的作业推送到队列。

长时间运行的作业应该做的最后一件事是发送一些完成的指示。

下面是一些示例代码:

Queue::push(function($job) use ($id)
{
    Artisan::call('my-command', ['arg1', 'arg2']);
    $job->delete();
});
// Then at the end of your my-command script:
$jobModel = LongRunningJob::find($id);
$jobModel->finishedDate = Carbon::now();
$jobModel->save();

当然,您可以轮询数据库以确定长时间运行的命令是否已经完成。

相关内容

  • 没有找到相关文章

最新更新