autobus-php / autobus-bus-bundle
AutobusBusBundle
2.3.11
2024-02-06 14:56 UTC
Requires
- php: >=8.0
- enqueue/enqueue-bundle: 0.10.*
- knplabs/knp-paginator-bundle: 5.6.*
- mtdowling/cron-expression: 1.2.*
Suggests
- enqueue/gps: To use Google PubSub queuing system
- enqueue/sqs: To use AWS SQS queuing system
- dev-master
- 2.3.11
- 2.3.10
- 2.3.9
- 2.3.8
- 2.3.7
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.2.x-dev
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.x-dev
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- dev-code-enhancements
- dev-webjob-path
This package is auto-updated.
Last update: 2024-09-06 16:07:06 UTC
README
PHP可扩展服务总线
配置原子性工作,以便由cron、队列监听器或web服务执行。
要求
- PHP 8+
安装
下载Bundle
composer require autobus-php/autobus-bus-bundle
下载所需的队列Bundle
- 如果您想使用 Google PubSub (https://cloud.google.com/pubsub/docs/overview)
composer require enqueue/gps:0.10.*
- 如果您想使用 AWS SQS (https://aws.amazon.com/fr/sqs)
composer require enqueue/sqs:0.10.*
环境变量
更新您的 .env
文件以添加
# 'gps:' for Google PubSub / 'sqs:' for AWS SQS
ENQUEUE_DSN=sqs:
# Only for AWS SQS usage
AWS_REGION=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
配置
主题作业
有2个队列系统可用
- 使用 Google PubSub
使用 Supervisor 工具执行以下命令
php bin/console autobus:pubsub:consume
-
使用 AWS SQS
将以下行添加到您的crontab中
*/5 * * * * php bin/console autobus:sqs:consume
定时任务
将以下行添加到您的crontab中
* * * * * php bin/console autobus:cron:run
使用方法
创建作业
要创建一个新的作业
- 创建它的类,实现
Autobus\Bundle\BusBundle\Runner\RunnerInterface
接口;它可以扩展Autobus\Bundle\BusBundle\Runner\AbstractRunner
- 在您的bundle的
services.yml
中将其声明为一个服务,带有标签bus.runner
- 从web UI创建实例