oefenweb / cakephp-queue
一个为 CakePHP 定制的简约队列插件
v3.1.3
2023-01-17 15:28 UTC
Requires
- php: >=7.1
- cakephp/cakephp: ^3.7
Requires (Dev)
- dereuromark/cakephp-tools: ^1.9
- oefenweb/cakephp-codesniffer: ^3.0.0
- phan/phan: ^1.3
- phpmd/phpmd: ^2.6
- phpstan/phpstan: ^0.10.3
- phpunit/phpunit: ^5.7.14|^6.0
- psy/psysh: @stable
- sebastian/phpcpd: ^3.0
This package is auto-updated.
Last update: 2024-09-17 18:46:49 UTC
README
要求
- 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"
使用 -
前缀来排除。注意,您可能需要用 ""
将值包围起来,以避免它被识别为选项键。
这在迁移服务器时非常有用,您只想在新系统上执行某些任务或想测试特定的服务器。