cfv1000 / phalcon-queue-worker
一个简单的用于 RabbitMQ 的 Phalcon 队列工作进程
dev-master
2018-10-15 19:26 UTC
Requires
- php: ~7.1
- ext-phalcon: ~3.3
- php-amqplib/php-amqplib: ^2.7
Requires (Dev)
- phalcon/ide-stubs: ^3.4
This package is auto-updated.
Last update: 2024-09-16 09:06:45 UTC
README
特性
- 允许将 Phalcon CLI 作为 RabbitMQ 工作进程使用(稍作调整,其他可能也行)
使用示例
php bin/phalcon workers:run --queue=queue-name
启动队列监听器
要求
查看 composer.json 了解要求
创建新的工作进程(从本项目分支)
- 运行
composer create-project cfv1000/phalcon-queue-workers new-project @dev
- 重命名命名空间
- 在 src/jobs 目录中创建一个新的 JOB(参见默认作业示例)
注意:不要忘记在每次更改后重新启动您的工人注意 #2:工人存在内存消耗大的问题。请小心操作!
Q&A
Q:为什么你有两个路由器?
A:一个路由器用于 CLI 命令(如启动工人、清理目录等)。另一个路由器(作业)旨在用于调度队列作业。
Q:为什么你使用“type”属性?
A:方便。实际上可以改为任何内容。我甚至建议传输实现了消息接口的序列化对象,并在 WorkerJobDispatcher 中进行反序列化。
Q:“你的代码很糟糕。你的品味在哪里?你的单元测试在哪里?”
A:嗯..你可以自由地编写比我更好的代码。我不介意。这是一个在 3-4 小时内编写的原型。我没有时间让你看到代码很漂亮。使用它或不使用它。由你选择...
Q:为什么你没有使用事件?
A:如果你需要,可以自由实现事件。我只是选择在这个时候不这样做。
最后的想法
如果你觉得这个仓库有帮助,请随意给予信用。我会感激的 :)
祝你好运!