activecollab / jobsqueuecommands
Active Collab 作业队列命令
dev-master
2016-01-04 16:11 UTC
Requires
- activecollab/containeraccess: ~1.0.0
- activecollab/jobsqueue: dev-next
- symfony/console: ~2.6
Requires (Dev)
- monolog/monolog: ~1.0
- phpunit/phpunit: ~5.0
- pimple/pimple: ~3.0
This package is auto-updated.
Last update: 2024-09-05 00:53:46 UTC
README
此包包含一些有用的 CLI 命令,使与 activecollab/jobsqueue
的工作更加容易。实现的命令有:
clear_failed_jobs
- 清除丢失的失败作业create_tables
- 创建作业队列表(如果您使用 MySQL 队列)enqueue
-> 将作业添加到队列failed_job_reasons
- 通过类型查找作业,并返回过去失败的所有不同原因failed_jobs
- 列出失败作业日志的内容restore_failed_jobs
- 通过类型恢复失败作业run_jobs
- 从队列中运行作业run_queue_maintenance
- 执行队列维护(解除卡住的作业,删除旧日志等)
正在运行的作业
此命令旨在启动并执行作业,直到达到特定的时间限制。此命令支持以下选项
--seconds
(-s
) - 一个调用应保持活动状态并执行作业多长时间(默认值为 50 秒),--channels
(-c
) - 此命令应从中获取作业的通道(默认为main
通道)。
查看此示例 cron 配置
* * * * * /path/to/my/consumer run_jobs -s 180 -c main,mail
此命令启动一个消费者实例,每分钟监听 mail
和 mail
通道,并保持活动状态 180 秒。因此,我们始终有三台消费者实例在运行并执行作业,这意味着我们可以通过它们推送大量工作。
DI 容器
所有命令都期望您提供以下元素的 Interop\Container\ContainerInterface
DI 容器:
log
- 实现\Psr\Log\LoggerInterface
接口的实例dispatcher
- 实现\ActiveCollab\JobsQueue\DispatcherInterface
接口的实例(通常是\ActiveCollab\JobsQueue\Dispatcher
实例)
命令使用这些实例来完成它们需要执行的工作,DIC 提供了一种方便的方式来注入它们。