activecollab/jobsqueuecommands

Active Collab 作业队列命令

dev-master 2016-01-04 16:11 UTC

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

此命令启动一个消费者实例,每分钟监听 mailmail 通道,并保持活动状态 180 秒。因此,我们始终有三台消费者实例在运行并执行作业,这意味着我们可以通过它们推送大量工作。

DI 容器

所有命令都期望您提供以下元素的 Interop\Container\ContainerInterface DI 容器:

  • log - 实现 \Psr\Log\LoggerInterface 接口的实例
  • dispatcher - 实现 \ActiveCollab\JobsQueue\DispatcherInterface 接口的实例(通常是 \ActiveCollab\JobsQueue\Dispatcher 实例)

命令使用这些实例来完成它们需要执行的工作,DIC 提供了一种方便的方式来注入它们。