如何使用Laravel上的Beanstalk解决作业队列问题

时间:2017-11-08 15:40:29

标签: php macos laravel queue beanstalkd

背景

我得到了一个laravel应用程序,其队列由forge配置。所以我试图让它在我的localhost上运行,这是OSX

这就是我所做的:

OSX上的

installed beanstalk
在我的控制台上运行beanstalk服务器:$ beanstalk
跑了laravel worker命令

$ php artisan queue:work beanstalkd --env=local --queue=default

然后我做了一些创造工作的行动,但他们从未得到过处理。我使用telnet作为穷人的beanstalk监视器,如下所示:

$ telnet localhost 11300
Trying ::1...
Connected to localhost.
Escape character is '^]'.
stats
OK 923
---
current-jobs-urgent: 0
current-jobs-ready: 3
current-jobs-reserved: 0
current-jobs-delayed: 0
current-jobs-buried: 0
cmd-put: 3
cmd-peek: 0
cmd-peek-ready: 0
cmd-peek-delayed: 0
cmd-peek-buried: 0
cmd-reserve: 0
cmd-reserve-with-timeout: 652
cmd-delete: 0
cmd-release: 0
cmd-use: 1
cmd-watch: 0
cmd-ignore: 0
cmd-bury: 0
cmd-kick: 0
cmd-touch: 0
cmd-stats: 8
cmd-stats-job: 0
cmd-stats-tube: 0
cmd-list-tubes: 0
cmd-list-tube-used: 0
cmd-list-tubes-watched: 0
cmd-pause-tube: 0
job-timeouts: 0
total-jobs: 3
max-job-size: 65535
current-tubes: 2
current-connections: 2
current-producers: 0
current-workers: 1
current-waiting: 0
total-connections: 8
pid: 56692
version: 1.10
rusage-utime: 0.010171
rusage-stime: 0.031001
uptime: 2023
binlog-oldest-index: 0
binlog-current-index: 0
binlog-records-migrated: 0
binlog-records-written: 0
binlog-max-size: 10485760
id: 3620777b4ee08cdc

问题

我可以看到3个工作准备就绪..但我不知道如何派遣他们(或者就此而言,找出他们内部的工作)。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用beanstalk控制台网络应用https://github.com/ptrofimov/beanstalk_console。 我还会在一个单独的日志文件中记录一些信息,以告知我正在运行的作业中发生的一些值和细节。然后我在执行排队的作业并查看beanstalk控制台界面时对该日志文件进行尾随。