我试图运行redis:subscribe
artisan命令作为服务,在后台模式下,并且需要该脚本不会死于错误。不能运行工匠redis:订阅命令作为服务,在后台和守护进程
我试过主管,但没有结果。
你有什么建议吗?
- OS:CentOS的7
- 郎:PHP
- 框架:Laravel
我试图运行redis:subscribe
artisan命令作为服务,在后台模式下,并且需要该脚本不会死于错误。不能运行工匠redis:订阅命令作为服务,在后台和守护进程
我试过主管,但没有结果。
你有什么建议吗?
我想我找到了最好的解决方案。
我制作了bash
文件,即运行我的脚本。它正在检查错误并重新启动脚本执行。我已将这个bash
文件启动,作为服务器运行。
这是我的全魔:
#!/bin/bash
while true; do
nohup path/to/php /path/to/artisan redis:subscribe >> /path/to/logs/redis.log &
PID=$!
wait $PID
echo $PID has ended
sleep 1;
done;
我希望有人会发现它有用。
而你需要改变'default_socket_connection'。默认情况下它是60秒,如果连接在60秒内不使用,它将被中断 – zgabievi
试图执行此命令:
php artisan redis:subscribe &
在 '&' 允许设置cmd为deamon。
我在命令的末尾搜索关于'&'的信息。当我意识到它只在后台运行命令。如果脚本失败,则不会重新启动。但是我需要这个命令来保持运行而不管错误。 – zgabievi
您与主管有什么问题?这非常适合你的尝试。 –
所以,当我检查程序状态时,主管说它正在运行。但是,当我试图从节点服务器向Laravel的redis发布某些内容时,我没有输出。 当我手动调用'php artisan redis:subscribe'时,它正在工作,我得到的输出是** laravel.log ** – zgabievi