visual-craft/work-queue-bundle

使用Beanstalk(Symfony组件)进行后台作业调度

v0.2.0 2022-06-08 13:31 UTC

This package is auto-updated.

Last update: 2024-08-29 06:01:40 UTC


README

使用Beanstalk(Symfony组件)的后台作业

安装

$ composer require visual-craft/work-queue-bundle

配置

##config/packages/visual_craft_work_queue.yaml

visual_craft_work_queue:
    connections:
        default: ~
    queues:
        test_queue:
            connection: default
            worker: 'App\BackgroundJob\Worker\TestWorker'

创建工作进程

<?php

declare(strict_types=1);

namespace App\BackgroundJob\Worker;

use VisualCraft\WorkQueue\Worker\JobMetadata;
use VisualCraft\WorkQueue\Worker\WorkerInterface;

class TestWorker implements WorkerInterface
{
    public function work($payload, JobMetadata $metadata): void
    {
        //..
    }
}

添加服务

services:
    App\Command\TestCommand:
        arguments:
            - '@visual_craft_work_queue.manager.test_queue'

添加队列

//..
private QueueManager $queueManager;

public function __construct(QueueManager $queueManager)
{
    $this->queueManager = $queueManager;
}

//..
    $this->queueManager->add('mixed payload');
//..

许可证

此代码根据MIT许可证发布。请参阅文件中的完整许可证:LICENSE