2016-01-27 86 views
0

我试图运行redis:subscribe artisan命令作为服务,在后台模式下,并且需要该脚本不会死于错误。不能运行工匠redis:订阅命令作为服务,在后台和守护进程

我试过主管,但没有结果。

你有什么建议吗?


  • OS:CentOS的7
  • 郎:PHP
  • 框架:Laravel
+1

您与主管有什么问题?这非常适合你的尝试。 –

+0

所以,当我检查程序状态时,主管说它正在运行。但是,当我试图从节点服务器向Laravel的redis发布某些内容时,我没有输出。 当我手动调用'php artisan redis:subscribe'时,它正在工作,我得到的输出是** laravel.log ** – zgabievi

回答

1

我想我找到了最好的解决方案。

我制作了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; 

我希望有人会发现它有用。

+0

而你需要改变'default_socket_connection'。默认情况下它是60秒,如果连接在60秒内不使用,它将被中断 – zgabievi

1

试图执行此命令:

php artisan redis:subscribe & 

在 '&' 允许设置cmd为deamon。

+0

我在命令的末尾搜索关于'&'的信息。当我意识到它只在后台运行命令。如果脚本失败,则不会重新启动。但是我需要这个命令来保持运行而不管错误。 – zgabievi

相关问题