slims / queue
SLiMS库,用于通过消息代理管理异步任务
v1.0.0
2024-01-08 01:05 UTC
Requires
- php: ^8.1
- ext-pdo_mysql: *
README
A SLiMS组件,用于管理队列进程。您可以提供自己的处理器,请阅读位于 src/Handlers/
中的处理器规范。
如何
安装
composer require slims/queue
生产
use SLiMS\Queue\Manager as Queue; Queue::produce('your message/formatter task etc'); // default topic is slims // or Queue::produce('your message/formatter task etc', topic: 'csv_process');
消费
use SLiMS\Queue\Manager as Queue; Queue::consume(topic: 'slims', callback: function($message){ // write your code here }); // with channel name Queue::setChannel('worker1')->consume(topic: 'slims', callback: function($message){ // write your code here });
配置
队列配置可在 config/queue.php
中找到
<?php return [ 'default_handler' => 'database', // change it with yours. e.g : nsq 'default_topic' => 'slims', 'handlers' => [ 'database' => [ 'class' => \SLiMS\Queue\Handlers\Database::class, 'options' => [ 'table' => 'queue', 'order' => 'asc', 'sort_by' => 'created_at', 'delay_per_job' => 5 // in second ] ], /*'nsq' => [ 'class' => your_handler::class, 'options' => [ // your options here, such as host etc ] ]*/ ] ];