insidieux/task-bundle

Symfony 任务包

安装次数: 19,454

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 1

开放问题: 1

类型:symfony-bundle

0.3.3 2022-01-11 19:01 UTC

This package is auto-updated.

Last update: 2024-09-12 00:45:50 UTC


README

概览

TaskBundle 提供了简单实现延迟任务的基础设施

需求

  • PHP 7.0 或更高版本
  • doctrine/orm: ^2.5
  • stof/doctrine-extensions-bundle: ^1.2
  • symfony/config: ^3.3
  • symfony/console: 3.3
  • symfony/dependency-injection: ^3.3
  • symfony/http-kernel: ^3.3
  • symfony/framework-bundle: ^3.3

安装

您可以使用 Composer 包管理器安装此包。您可以在项目的根目录中运行以下命令进行安装

composer require insidieux/task-bundle

不要忘记制作差异并运行迁移,以创建任务队列表

使用方法

首先,您需要添加一些新的命名空间以分离任务处理

task:
  debug: true
  namespaces:
    - 'namespace1'
    - 'namespace2'

在构建容器后,您将看到预定义的 worker 服务

task.worker.namespace1
task.worker.namespace2

您可以通过 cron/supervisor 运行它们。您还可以通过传递 worker-id 到命令来扩展它们

$ bin/console task:worker:namespace --id 1
$ bin/console task:worker:namespace --id 2

创建一个继承自 \TaskBundle\Handler\AbstractHandler 的 PHP 类并实现 perform 方法,然后将创建的处理程序推送到队列

$this->getContainer()->get('task.services.pusher')->push(new SomeHandler, 'namespace1');

路线图

变更日志

此包的变更日志 在此

许可证

此包在 MIT 许可证 下发布

作者