abc/job-server-bundle

一个用于管理状态性作业异步分布式处理的symfony扩展包

安装: 994

依赖: 0

建议: 0

安全: 0

星标: 1

关注者: 3

分支: 1

开放问题: 0

类型:symfony-bundle

0.4.3 2020-12-01 20:07 UTC

This package is not auto-updated.

Last update: 2024-09-18 13:19:56 UTC


README

Build Status

一个使用php-enqueue作为传输层的symfony扩展包,用于异步分布式作业处理。

注意:该项目仍然是实验性的!

功能

  • 异步分布式处理
    • 作业:单个作业
    • 批量:并行处理的多个作业
    • 序列:按顺序处理的多个作业
    • Job、Sequence和Batch的自由组合
  • 作业状态信息
  • 取消和重新启动作业
  • 计划任务(需要AbcSchedulerBundle 2.x)
  • JSON REST-Api & PHP客户端库
  • OpenApi 文档

演示

您可以在这里找到演示。

安装

composer install abc/job-server-bundle

入门

先决条件

  • EnqueueBundle已配置传输层

步骤

  1. 如果您配置了一个不同于default的键的传输,您还需要为AbcJobServerBundle配置此传输

    abc_job_server:
        transport: my_transport_name
  2. 创建数据库和数据库模式

    bin/console doctrine:database:create
    bin/console doctrine:schema:create
  3. 启动处理工人回复的命令

    bin/console abc:process:reply someReplyQueue
  4. 创建一个使用AbcJobWorkerBundle消耗作业的应用程序,该应用程序将处理作业。

配置参考

abc_job_server:

    # the enqueue transport name
    transport: default
    
    # whether to enable the cronjob component
    cronjob:
        enabled: true
    
    # whether to enable the endpoints to cleanup jobs, and cronjobs
    cleanup:
        enabled: true

命令

命令 abc:broker:setup

abc:broker:setup 命令声明所有注册路由在代理的队列。

bin/console abc:broker:setup --help

命令 abc:reply:process

abc:reply:process 命令处理队列中的作业回复,更新作业信息并安排依赖作业

bin/console abc:reply:process --help

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。