earls / stork-command-queue-bundle
队列命令服务
dev-master
2015-09-02 19:02 UTC
Requires
- php: >=5.3.3
- doctrine/orm: ~2.2,>=2.2.3
- symfony/framework-bundle: ~2.4
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 服务以将其排队并顺序执行。
- 在行命令被添加到队列后,会对队列进程进行验证,如果有一个进程正在运行,则继续执行,否则实例化一个新的内核并保持运行,直到队列中的所有行命令都执行完毕。
- 队列的控制通过使用表来实现。
- 已实现基本操作
- 列表:列出特定队列中待执行的所有行命令。
- 清除:删除所有待执行的行命令,使队列变为空并终止管理器的执行。
- 添加:通过行命令直接添加行命令。
- 删除:从队列中删除特定的行命令。
- 停止:停止待执行的行命令的执行。
- 启动:恢复待执行的行命令的执行。
- 日志:显示可用的日志。
##内容