illusorium / minion
官方kohana模块的分支,支持队列任务
Requires
- php: >=5.3.3
- composer/installers: ~1.0
- kohana/core: >=3.3
Requires (Dev)
- kohana/core: 3.3.*@dev
- kohana/koharness: *@dev
- kohana/unittest: 3.3.*@dev
This package is auto-updated.
Last update: 2024-09-06 18:32:19 UTC
README
Minion 是一个通过命令行运行任务的框架。
该系统灵感来源于 ruckusing,它有一个很好的任务定义系统,但缺乏与 kohana 集成的灵活性。
入门
首先,在你的 bootstrap 中下载并启用模块
然后复制 bash 脚本 minion
到你的 index.php 旁边(最可能在网站根目录)。如果你希望可执行文件位于 index.php 的不同位置,只需修改 bash 脚本来指向 index.php。
然后你可以这样运行 minion
./minion {task}
要查看 minion 任务列表,运行 minion 不带任何参数,或使用 --help
选项
./minion
./minion --help
要查看特定 minion 任务的帮助,运行
./minion {task} --help
出于安全原因,Minion 只能从命令行运行。尝试通过 http 访问它将引发 Kohana_Exception
。
如果你由于任何原因无法使用二进制文件,只需在上面的示例中将 ./minion {task}
替换为
php index.php --uri=minion --task={task}
编写自己的任务
所有 minion 任务都必须位于 classes/task/
中。它们可以位于任何模块中,因此允许你将自定义 minion 任务与自己的模块/产品一起分发。
每个任务都必须扩展抽象类 Minion_Task
并实现 Minion_Task::_execute()
。
有关更多详细信息,请参阅 Minion_Task
。
文档
代码注释足够好,无需文档,Minion 可以提取类的 doccomment 用于命令行的文档。
测试
此模块使用 unittest 模块 进行单元测试。您可以使用 minion
组仅运行 minion 测试。
例如。
phpunit --group minion
请随时贡献测试(!), 它们位于 tests/minion
目录中。 :)
许可证
此许可证与 Kohana 相同。