rgoro / cakephp-queue
CakePHP 的队列插件提供延迟任务执行。这是一个 MongoDB 实现。
3.3.3
2017-03-22 15:22 UTC
Requires
- php: >=5.5
- 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(作为特定问题的不同方法)
- 可能(可选)的 Tools 插件依赖关系,通过 /admin/queue 进行前端访问
- 配置键 "queue" 现在是 "Queue" ($config['Queue'][...])
由 Christian Charukiewicz(《charukiewicz》)添加
- 配置选项 'gcprop' 现在是 'gcprob'
- 在 README 和变量名称中修复了拼写错误(Propability -> Probability)
- 向 README 中添加了有关 createJob() 使用的几行
- 在queue.php中添加了注释,解释配置选项