oefenweb/cakephp-queue

一个为 CakePHP 定制的简约队列插件

安装次数: 29,078

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 2

开放问题: 2

类型:cakephp-plugin

v3.1.3 2023-01-17 15:28 UTC

README

Build Status PHP 7 ready Coverage Status Packagist downloads Code Climate Scrutinizer Code Quality

要求

  • CakePHP 2.9.0 或更高版本。
  • PHP 7.0.0 或更高版本。

安装

将此目录中的文件克隆/复制到 app/Plugin/Queue

配置

确保在 app/Config/bootstrap.php 中通过调用来加载插件

CakePlugin::load('Queue');

确保在 app/Config/bootstrap.php 中配置以下行

Configure::write('Queue.workers', 3);
Configure::write('Queue.sleepTime', 10);
Configure::write('Queue.gcprop', 10);
Configure::write('Queue.defaultWorkerTimeout', 2 * MINUTE);
Configure::write('Queue.defaultWorkerRetries', 4);
Configure::write('Queue.workerMaxRuntime', 0);
Configure::write('Queue.cleanupTimeout', DAY);
Configure::write('Queue.exitWhenNothingToDo', false);
Configure::write('Queue.gcOnExit', true);

加载模式

Console/cake schema create;

使用方法

控制台

从您的 APP 目录中运行

# Tries to call the `add()` function on a task.
Console/cake Queue.queue add <taskname>;
# Run a queue worker.
Console/cake Queue.queue runworker;
# Display some general statistics.
Console/cake Queue.queue stats;
# Manually call cleanup function to delete task data of completed tasks.
Console/cake Queue.queue clean;
# Manually call cleanup_failed function to delete task data of failed tasks.
Console/cake Queue.queue clean_failed;

运行每个工作者的特定任务

您可以通过类型筛选 "运行中的" 任务

Console/cake Queue.queue runworker -t MyType,AnotherType,-ThisOneToo
Console/cake Queue.queue runworker -t "-ThisOneNot"

使用 - 前缀来排除。注意,您可能需要用 "" 将值包围起来,以避免它被识别为选项键。

这在迁移服务器时非常有用,您只想在新系统上执行某些任务或想测试特定的服务器。