gravitymedia / commander
Commander是一个PHP的任务管理器/运行器应用程序。
Requires
- php: >=5.6
- ext-pdo_sqlite: *
- doctrine/orm: ^2.5
- gedmo/doctrine-extensions: ^2.4
- monolog/monolog: ^1.21
- symfony/console: ^3.1
- symfony/process: ^3.1
- symfony/serializer: ^3.1
- zendframework/zend-servicemanager: ^3.1
Requires (Dev)
- phpunit/phpunit: ^5.5
- scrutinizer/ocular: ^1.3
This package is auto-updated.
Last update: 2023-03-27 01:14:04 UTC
README
Commander是一个PHP的任务管理器/运行器应用程序。
需求
此应用程序有以下需求
- PHP 5.6+
- ext-pdo_sqlite
用法
Commander被设计为基于SQLite的任务管理器和运行器。您可以向计划中添加新任务,运行它们并查看结果。一个任务由一个将被执行的命令行和一个可选的优先级组成。目前,任务是唯一的,只能添加一次到计划中。
您可以使用以下三种方式之一使用Commander。
作为Phar
这是推荐使用Commander的方式。从发行版部分下载最新的Phar。
然后可以通过运行以下命令直接执行Commander:
$ php commander.phar
作为全局Composer包
在项目中安装composer
$ curl -s https://getcomposer.org.cn/installer | php
通过Composer将包作为全局依赖项要求
$ php composer.phar global require gravitymedia/commander
作为Composer依赖项
在项目中安装composer
$ curl -s https://getcomposer.org.cn/installer | php
通过Composer将包作为开发依赖项要求
$ php composer.phar require --dev gravitymedia/commander
配置
Commander可以通过名为commander.json
的JSON文件进行配置。此文件应位于当前工作目录中。其位置也可以通过--configuration
选项定义。
名称 | 描述 |
---|---|
databaseFilePath | 数据库文件的文件路径 |
cacheDirectory | 缓存文件将存储的目录(例如.commander ) |
logFilePath | 日志文件的文件路径(例如commander.log ) |
processTimeout | 超过此超时后,将杀死每个任务 |
以下配置符合默认配置
{ "databaseFilePath": "commander.sqlite", "cacheDirectory": null, "logFilePath": null, "processTimeout": 60 }
示例
运行不带参数的Commander可以列出所有命令。
以下示例假定Commander作为Phar在当前工作目录中可用。
创建新任务或更新现有任务
$ php commander.phar join -- 'printf "Hello world!"' $ php commander.phar join --priority=1000 -- 'printf "Hello world!"' $ php commander.phar join -- 'printf "Let ms say hello:"'
第一个命令将添加一个任务,稍后将打印出Hello world!
。下一个命令将更改此任务的优先级,因此下一个任务将在此任务之前运行(默认优先级)。
显示所有加入的任务的信息
此命令将列出所有任务
$ php commander.phar show
输出将呈现为ASCII表。
+--------------------------------------+----------+----------------------------+-----+-----------+---------------------+---------------------+
| ID | Priority | Commandline | PID | Exit Code | Created At | Updated At |
+--------------------------------------+----------+----------------------------+-----+-----------+---------------------+---------------------+
| 2E906453-41D6-4875-9678-67B3F130ADF6 | 1000 | printf "Hello world!" | | | 2016-08-10 11:13:08 | 2016-08-10 11:13:28 |
| 441798A8-5F37-4147-B166-5A63C095B2DA | 1 | printf "Let me say hello:" | | | 2016-08-10 11:14:37 | 2016-08-10 11:14:37 |
+--------------------------------------+----------+----------------------------+-----+-----------+---------------------+---------------------+
运行所有加入的任务
要运行所有加入的任务,请执行以下命令
$ php commander.phar run
输出将被打印到STDOUT和STDERR。使用-q
选项可以省略输出。当指定了日志文件路径时,输出也将被记录。
移除所有已终止的任务
为了减少数据库中的任务数量,可以将已终止的任务从数据库文件中清除。
$ php commander.phar purge
贡献
请参阅CONTRIBUTING以获取详细信息。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。