thinkphp队列queue的一些使用说明,queue:work和queue:listen的区别

队列使用的一些说明

  • 获取帮助

php think queue:work --help
--queue[=QUEUE]    The queue to listen on
--daemon           Run the worker in daemon mode
--delay[=DELAY]    Amount of time to delay failed jobs [default: 0]
--force            Force the worker to run even in maintenance mode
--memory[=MEMORY]  The memory limit in megabytes [default: 128]
--sleep[=SLEEP]    Number of seconds to sleep when no job is available [default: 3]
--tries[=TRIES]    Number of times to attempt a job before logging it failed [default: 0]
-h, --help             Display this help message
-V, --version          Display this console version
-q, --quiet            Do not output any message
  --ansi             Force ANSI output
  --no-ansi          Disable ANSI output
-n, --no-interaction   Do not ask any interactive question
-v|vv|vvv, --verbose   Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
php think queue:+指令
指令:
queue:restart  队列重启
queue:work  队列执行
queue:listen 队列监听
queue:subscribe 队列订阅
后台遍历执行:
php think queue:work --daemon
#或者
php think queue:listen
queue:work --daemon和queue:listen的区别
  • queue:work --daemon 在修改job下面的代码后需要重启服务,利用的是缓存方式(相当于常驻内存),速度非常高效!!!推荐。

  • queue:listen 修改job下面代码实时生效,每次都会重新载入框架,相对来说更消耗性能,调试时使用或者不行经常重启时采用

php think queue:work --daemon --queue  abc_queue &

 

参数说明

& 后台运行


--daemon 是否循环执行,如果不加该参数则该命令处理完下一个消息就退出。


--queue abc_queue 要处理的队列的名称


--delay 0 如果本次任务执行抛出异常且任务未被删除时,设置其下次执行前延迟多少秒,默认为0。


--force 系统处于维护状态时,是否仍然处理任务,并未找到相关说明。


--memory 128 该进程允许使用的内存上限,以M为单位。


--sleep 3 如果队列中无任务则sleep多少秒后重新检查(work+daemon模式)或退出(listen或非daemon模式)


--tries 2 如果任务已经超过尝试次数上限,则触发“任务尝试数超限”事件,默认为0。


评论/留言