我已经安装了beanstaled,并且它与laravel一起正常工作.我困惑的地方是我们必须这样做
PHP artisan queue:listen
开始监听队列.现在,我通过putty在amazone ec2实例上远程使用它.但是我关闭终端是什么?通过代码创建的作业是否有效?是手动调用PHP artisan队列:listen或PHP artisan队列:一直工作.哪个看起来不公平.
如果一旦PHP工匠队列:听完了,即使我们关闭终端它会继续运行吗?
其实我不知道.
你还需要安装主管.这是一个使用beanstalkd和laravel的教程:
http://fideloper.com/ubuntu-beanstalkd-and-laravel4
以下是主管的详细信息:
http://supervisord.org/installing.html
我个人使用redis实例并从那里与主管一起运行我的队列.
我发现它的内存有效性比beanstalkd个人更强,但每个都有自己的.
主管将执行来自artisan的队列:listen命令,这将运行一个作业,如果你有多个管理员进程,那么你可以运行多个行项目.
根据你正在做的事情,我几乎会考虑python和多线程,因为我已经将它用于我曾经使用队列的一些事情,它提供了更好的结果.
主管的示例配置文件:
[program:myqueue] command=PHP artisan queue:listen --env=your_environment directory=/path/to/laravel stdout_logfile=/path/to/laravel/app/storage/logs/myqueue_supervisord.log redirect_stderr=true autostart=true autorestart=true