norvutec / cron-manager
用于在symfony项目中管理cron任务的组件
7.1.3
2024-08-15 13:51 UTC
Requires
- php: >=8.2
- doctrine/doctrine-bundle: ^2.12
- doctrine/orm: ^3.2
- dragonmantank/cron-expression: ^2.2 || ^3.0
- sentry/sentry-symfony: ^5.0
- symfony/framework-bundle: ^7.1
- symfony/lock: ^7.1
Requires (Dev)
- phpunit/phpunit: ^8.0
- symfony/symfony: ^7.1
README
安装
安装此组件可以通过以下简单步骤完成
- 将组件添加到您的项目作为composer依赖
composer require norvutec/cron-manager
- 将组件添加到您的应用kernel中
// app/AppKernel.php public function registerBundles() { // ... $bundle = array( // ... new NorvuTec\CronManagerBundle\NorvuTecCronManagerBundle(), ); // ... return $bundle; }
- 更新您的数据库模式
bin/console make:migration bin/console doctrine:migrations:migrate
- 开始使用组件
bin/console cron-manager:list bin/console cron-manager:run
- 要自动运行您的cron任务,请将以下行添加到您的(或任何人的)crontab中
* * * * * /path/to/symfony/install/app/console cron-manager:run 1>> /dev/null 2>&1
- 如果您想使用概览控制器,请创建文件
config/routes/norvutec_cronmanager.yaml
,内容如下
norvutec_cronmanager: resource: '@NorvutecCronManagerBundle/config/routes.yaml' prefix: '/cron-manager'
您现在可以访问以下路由
cronmanager_index
: 所有任务的概览cronmanager_details
: 特定任务的详细信息
可用命令
list
bin/console cron-manager:list
显示所有任务列表。如果任务启用,则任务名称将显示为 [x]
,否则为 [ ]
。
run
bin/console cron-manager:run [--force] [job]
依赖
CronManager需要symfony/lock
来锁定任务执行。如果您想使用命名锁,请将cronmanager作为关键字。