2016-07-21 140 views
1

一旦我有一个命令方法,this one,有可能让这个commad永远运行?Laravel 5.2作为守护进程运行命令/永远

到目前为止,我有,对于

\Artisan::queue('socket:start'); 

调用一个Ajax '插座:启动' 是我的命令。

这是行得通的,但只能持续30秒。之后,我的过程死亡。

我试图作为守护进程运行,as laravel documentation says但没有运气。

我该如何给用户提供运行我的命令的选项,并永久保留它在后台运行?

+0

您是否检查过程中的日志? –

+0

Nop。我在哪里找到那些?在config/queue.php中没有日志的位置。只是关于一个'failed_jobs'表,我没有在我的数据库中^^“ –

+0

我的意思是你的套接字服务器......这只是启动它的命令,套接字服务器日志说什么? –

回答

1

由于apache版本的PHP有超时,你会遇到这个问题。默认情况下,CLI版本没有,所以你可以使用PHP的exec()功能来运行工匠命令,它应该工作:

exec('php artisan socket:start'); 

像往常一样,只有当你知道到底是怎么回事成exec()使用。

+0

In生产,最好是建立一个像supervisor一样的软件,以确保命令运行f即使在重启等事件的情况下,也可能由于运行时错误而导致突然的命令失败 – Naveed

相关问题