gpt4 book ai didi

带有 Laravel 的 PHP 无限脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:00:32 25 4
gpt4 key购买 nike

我有一个用户表,我需要不断上传,所以一旦更新,我想直接重新启动命令。

实际上,我使用的是一个 cron,它在 Laravel 中每分钟启动一次 ($schedule->command('update:users')->everyMinute();),但我如果工作快于一分钟,我会浪费一些时间,如果超过一分钟,我的服务器就会过载。

我在想也许可以使用一个队列,一旦脚本终止,就重新启动它自己,就像这样:

// Do My stuff
Queue::push(new UpdateUsers($));

但如果脚本崩溃,它不会自行重新加载,我需要至少启动一次。我知道我可以使用 pcntl_fork 函数,但我想使用 Laravel 的交 key 函数。我该怎么办?

最佳答案

我建议运行 CLI 命令,在命令中放置一个

while (true)

循环所以它会永远运行。创建此脚本后,您可以使用 supervisord 运行它

此服务运行您告诉他的命令,失败时会自动重新启动。请注意,在 X 次失败后它将停止,这取决于您如何配置它。

配置文件示例:

/etc/supervisord/conf.d/my_infinite_script.conf

内容可能是:

[program:laravel_queue]
command=php artisan your_command:here
directory=/path/to/laravel
autostart=true
autorestart=true
stderr_logfile=/var/log/your_command.err.log
stdout_logfile=/var/log/your_command.out.log

关于带有 Laravel 的 PHP 无限脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135187/

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