我已经在Laravel(L5)中创建了一个命令,该命令连接到twitter流API,并且可以使用php artisan collect-tweets
。当我在本地运行它时,因为它是一个持久连接,它基本上在终端窗口中无限运行。我现在已将应用程序部署到Laravel Forge,我希望它运行命令而不是终止进程。我已经阅读了here所说的答案但是我想知道是否有另一种方法可以在Laravel Forge上运行一个长期运行(无限)工匠命令 - 也许是使用守护进程工人?
我尝试过的事情:
mysite.co.uk/run.sh
的守护进程来运行。这给我一个错误,说它找不到命令工匠/home/forge/mysite.co.uk/run.sh
的完整路径,该错误表示Exited too quickly (process log may have details)
(经典问题...)任何想法如何实现我的目标?
答案 0 :(得分:0)
我对Forge知之甚少,所以我建议的这个解决方案不是该层的一部分,也不是Laravel层的一部分,但是如果你能获得命令行访问权限,这可能会有效。
我看过关于这个提及的其他消息“不要关闭终端”这是一种做法的黑客方式,但在Linux中有一个名为nohup
的命令你可以找到一些例子,如果你Bing它。或者您可以参考this question。
答案 1 :(得分:0)
第一点应该是
php /home/forge/my-site.com/artisan my-command
将它用作守护进程你可以例如
sudo /home/forge/my-site.com/node socket.js