pablohaedo / cakephp-queue
CakePHP 队列插件提供了延迟任务执行功能。这是一个 MongoDB 实现。
3.3.4
2020-03-17 16:26 UTC
Requires
- php: >=5.6
- cakephp/cakephp: ^3.2
- lewestopher/cakephp-monga: ^0.5.0
Requires (Dev)
- cakephp/migrations: ^1.0
- dereuromark/cakephp-tools: ^1.2
- fig-r/psr2r-sniffer: dev-master
Suggests
- dereuromark/cakephp-tools: For the Email lib and QueueEmailTask. Or write your own task here. Also for admin backend.
Conflicts
- dereuromark/cakephp-queue: dev-master
README
此分支用于与 CakePHP 3 一起使用。
此包是什么
首先去阅读原始背景和用例,请参阅原始包的说明
这是 Mark Scherer 的 简单的 Cake PHP 队列 的实现,用 MongoDB 替换了 MySQL 作为后端。
此包不是什么
这不是原始包的直接替代品。虽然我打算与该包的维护者合作以集成此后端,但这首先是为了满足特定的用例,然后才是通用用途。
一个主要问题是主要类(QueuedJobsTable、QueueShell 和 QueueTask)只是被复制到新的基于 MongoDB 的实现(QueuedJobsCollection、MongoQueueShell 和 MongoQueueTask)。一个集成的实现应该将这些类作为原始类的子类(或一个公共基类)和一个工厂来选择根据配置使用哪个实现。
安装和使用
请参阅 文档。
待办事项
- 原始包中实现的统计信息尚未移植到 Mongo。
- 后端控制器尚未审查或测试。
- 使此实现与 MySQL 实现兼容。
历史
近期改进
- MongoDB 后端
- 使用 QueuedJobs 表而不是 QueuedTasks(任务只是实现类)
- 使用 json_encode/decode 而不是 serialize
- 作业的优先级
- 如果数据库支持,获取新作业时的交易
- 代码改进,更严格的类型提示
还有...
感谢 Max (Dee-Fuse) 使 3.x 升级完整!
由 David Yell (davidyell) 修改
- 基本的 CakePHP 3.x 支持
由 Mark Scherer (dereuromark) 修改
- CakePHP 2.x 支持
- 一些小的修复
- 添加了 crontasks(作为解决特定问题的另一种方法)
- 可能(可选)的工具插件依赖关系,用于通过 /admin/queue 访问前端
- 配置键 "queue" 现在是 "Queue" ($config['Queue'][...])
由 Christian Charukiewicz (charukiewicz) 添加
- 配置选项 'gcprop' 现在是 'gcprob'
- 修复了 README 和变量名中的拼写错误(Propability -> Probability)
- 向 README 中添加了一些关于 createJob() 用法的说明
- 向 queue.php 添加了注释,说明了配置选项