我将 Laravel 4 及其队列实现用于一些异步任务,并且我想使用 supervisord 来管理工作进程(基本上artisan queue:listen
),就像我过去在其他框架中所做的那样。
当我手动运行 supervisord 时,它可以很好地启动工作进程,但是当我将它作为服务运行时,工作进程会立即终止并显示以下消息:
2013-07-25 09:51:32,162 INFO spawned: 'myproject' with pid 4106
2013-07-25 09:51:32,875 INFO exited: myproject (terminated by SIGSEGV (core dumped); not expected)
没有标准输出或标准错误输出。
这是工人的监督配置(没什么花哨的):
[program:myproject]
command=php artisan queue:listen --queue=queue_name iron --env=staging
directory=/home/myuser/myproject
stdout_logfile=/var/log/supervisord/myproject.stdout
stderr_logfile=/var/log/supervisord/myproject.stderr
它运行的服务器是 CentOS 6.4 64 位和来自 cPanel/WHM 的 PHP 5.3.25(不是我的选择,它是一个空闲的服务器,我们无能为力)。
关于可能导致问题的任何想法?