调度程序 runInBackground 在 laravel 5.4 中不起作用

问题描述 投票:0回答:1

我正在开发一个项目,需要每小时运行一次 CRON,并在每次运行 CRON 时获取大量最新数据,并且有多个用户。

每个用户的 CRON 需要时间来完成,所以我尝试在后台运行 CRON,这样就不会影响其他 cron。

$users = User::where("connected", 1)->where("role_id", 2)->get();

foreach ($users as $user) {
    $schedule->command('fetch:product ' . $user->id)->cron('* */4 * * *');
    $schedule->command('fetch:report ' . $user->id)->hourly()->runInBackground();
}

从上面的示例中,第一个 CRON 正在工作,但另一个 CRON 不工作,因为我添加了

->runInBackground()
功能,以便它在后台工作,并且我已启用日志,但登录时仅显示第一个 CRON,而不是第二个 CRON。

代码目前位于 Windows Server 上,稍后将移至 Linux。

php laravel laravel-5 cron
1个回答
0
投票

我在 Windows 10 和 Laravel 8.2 中遇到同样的问题,任何人都可以找到解决办法吗?

我发现他们应该在 laravel 6.x 上修复了这个问题,但情况似乎并非如此。 https://github.com/laravel/framework/pull/29826

© www.soinside.com 2019 - 2024. All rights reserved.