gpt4 book ai didi

Laravel 调度程序 : Should I use jobs or commands?

转载 作者:行者123 更新时间:2023-12-03 08:09:45 25 4
gpt4 key购买 nike

我对于是否在调度程序中调度作业或命令感到犹豫。我真的找不到任何深入的数据来说明为什么我会选择其中之一。通常,我会考虑给定的计划任务将运行多长时间,如果它“长”,那么我将创建一个作业,但最近我将一些作业切换到命令,因为我可以手动运行它们。

此外,如果我在调度程序中使用命令并且使用 runInBackground(),这与作业有何不同?

最佳答案

当您使用 runInBackground 时,您只是将命令发送到 shell 后台,就像在命令后使用 & 在 shell 中调用命令一样。

作业可以在队列中执行,可以重试、缩放、使用中间件执行、批量执行以及使用 Laravel Horizo​​n 等工具进行监控。

提示:您可以通过在仅调度作业的 routes/console.php 中注册命令来将作业作为命令调度,例如:

Artisan::command('my-job-command', fn () => 调度(new MyJob()));

此文件中的命令由内核中的此代码自动注册:

    protected function commands()
{
$this->load(__DIR__ . '/Commands');

require base_path('routes/console.php');
}

关于Laravel 调度程序 : Should I use jobs or commands?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71167242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com