tarasovich / symfony-cron-commands
用于声明 symfony 命令为 cron 任务的工具
v0.1.1-alpha
2022-07-08 10:58 UTC
Requires
- php: ^8.0
- symfony/config: ^5.0 || ^6.0
- symfony/console: ^5.0 || ^6.0
- symfony/dependency-injection: ^5.0 || ^6.0
- symfony/http-kernel: ^5.0 || ^6.0
This package is auto-updated.
Last update: 2024-09-08 16:09:23 UTC
README
将 symfony 命令声明为 cron 任务的工具(Linux cron 配置生成和命令锁监听器)
接口
- CronCommandInterface - 通用 cron 命令,你需要声明 getCronInterval(): string
- LockedCronCommandInterface - 在命令上启用锁监听器
- LoggedCronCommandInterface - 在 Linux 配置生成时为命令启用输出重定向
- LockedLoggedCronCommandInterface - 启用锁监听器和输出重定向
安装
确保全局已安装 Composer,如 Composer 文档中的 安装章节 所述。
步骤 1: 下载 Bundle
打开命令控制台,进入你的项目目录,并执行以下命令以下载此 Bundle 的最新稳定版本
$ composer require tarasovich/symfony-cron-commands
步骤 2: 启用 Bundle
然后,通过将其添加到项目 config/bundles.php
文件中注册的 Bundle 列表中来启用该 Bundle
// config/bundles.php return [ // ... Tarasovich\CronCommands\CronCommandsBundle::class => ['all' => true], ];
步骤 3: 配置 Bundle
然后通过创建 config/packages/cron_commands.yaml
来配置 Bundle
# config/packages/cron_commands.yaml cron_commands: locks: enabled: true # Enable lock listener template: 'var/run/{command_dashes}.{env}.lock' # Lock file name template relative to project dir or absolute linux_config_generation: enabled: true # Enable linux config generation command templates: task: '{interval} {user} php {bin} --env={env} {command} {logging}' # Task template log_filename: '{command_dashes}.{env}.log' # Log file name template default_options: # Default command options bin: '%kernel.project_dir%/bin/console' logs: '%kernel.logs_dir%' output: '%kernel.project_dir%/var/tmp/self-serve-cron.conf' user: '{current_user}'