earls/stork-command-queue-bundle

队列命令服务

安装: 242

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 12

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2015-09-02 19:02 UTC

This package is not auto-updated.

Last update: 2019-09-10 10:16:54 UTC


README

##概述 Stork 是一个公共项目,旨在取代 Flamingo。它借鉴了 Flamingo 的经验,但采用了新的设计,以最大限度地减少对系统资源的占用。

Stork 命令队列是用于 Symfony 命令行的队列管理工具,包含两个部分

  • Stork Launcher 服务:用于将新行命令推送到队列中,从 Symfony 框架中调用。
  • Stork 管理命令:在队列中新行命令被添加后调用的行命令,用于管理命令的执行。Stork 管理器实例化一个新的 Symfony 内核,以服务于特定的队列,直到队列中的所有命令执行完毕才结束。

采用这种新的方法,我们打算节省资源,因为系统中只有一个进程在运行,为队列中的所有命令提供服务,并能够更好地响应时间,因为内核的实例化仅执行一次。使用每个队列一个进程的想法是为了隔离每个队列,在各自的沙盒中运行,并允许并行运行多个队列。

##进程

  • 当行命令通过队列执行时,应将命令传递给:Stork.launcher 服务以将其排队并顺序执行。
  • 在行命令被添加到队列后,会对队列进程进行验证,如果有一个进程正在运行,则继续执行,否则实例化一个新的内核并保持运行,直到队列中的所有行命令都执行完毕。
  • 队列的控制通过使用表来实现。
  • 已实现基本操作
    • 列表:列出特定队列中待执行的所有行命令。
    • 清除:删除所有待执行的行命令,使队列变为空并终止管理器的执行。
    • 添加:通过行命令直接添加行命令。
    • 删除:从队列中删除特定的行命令。
    • 停止:停止待执行的行命令的执行。
    • 启动:恢复待执行的行命令的执行。
    • 日志:显示可用的日志。

##内容