dereuromark / cakephp-queue-scheduler
CakePHP 的队列调度插件
0.2.5
2024-07-18 12:51 UTC
Requires
- php: >=8.1
- cakephp/cakephp: ^5.0.1
- dereuromark/cakephp-queue: ^7.0.0 || ^8.0.0
- dereuromark/cakephp-tools: ^3.0.0
- dragonmantank/cron-expression: ^3.3
Requires (Dev)
- cakephp/migrations: ^4.1.0
- dereuromark/cakephp-templating: ^0.2.2
- fig-r/psr2r-sniffer: dev-master
- phpunit/phpunit: ^10.3
README
这是 Queue 插件 的调度插件。
此分支适用于 CakePHP 5.0+。详细信息请参阅 版本映射。
动机
基于数据库和队列的 crontab 系统不需要 sys-admin 手动修改服务器上的 crontab 文件。它还允许更容易的多服务器(工作)环境。
该系统提供了更简单的输入和“频率”验证,以及后端中计划的视觉输出。对于小型项目,也可以通过迁移而不是触摸服务器配置来更容易地在系统之间(例如,dev/stage/prod)移植。
此外,日志记录和 i18n 定制也可以通过这种方式更容易地得到解决。
最后,通过与 Queue 插件的集成,它可以与现有的 Queue 任务无缝协同工作。任何失败的任务(例如,网络问题或电子邮件 SMTP 问题)都可以根据配置自动重新运行 x 次。
其他功能
- 并发处理:在队列中任务仍在运行或失败的情况下,决定是否立即运行或仅跳过。
- 后端可以提供按钮来手动“触发”所需的任何计划任务。
- 基于可用的 Cake 命令或 Queue 任务进行自动完成或建议。
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
composer require dereuromark/cakephp-queue-scheduler
安装和使用
请参阅 文档。
应归功于
此插件深受 LordSimal Scheduler 插件 和 Laravel 任务调度功能 的启发。
如果您更喜欢基于文件和纯 crontab 风格配置它们,请使用此调度插件。