drjele / symfony-console
v4.1.0
2024-09-02 16:25 UTC
Requires
- php: >=8.2
- symfony/config: 7.*
- symfony/console: 7.*
- symfony/dependency-injection: 7.*
- symfony/filesystem: 7.*
- symfony/http-kernel: 7.*
Requires (Dev)
README
已停止维护,已迁移至 https://gitlab.com/precision-soft-open-source/symfony/console
您可以自由地分叉和修改它.
欢迎提出建议。
配置示例
drjele_symfony_console.yaml
drjele_symfony_console:
cron:
config:
template_class: \Drjele\Symfony\Console\Template\CrontabTemplate
conf_files_dir: '%kernel.project_dir%/generated_conf/cron'
logs_dir: '%kernel.logs_dir%/cron'
log: true
destination_file: 'crontab'
heartbeat: true
commands:
list:
command: '%kernel.project_dir%/bin/console list'
schedule:
minute: '*'
hour: '*'
day_of_month: '*'
month: '*'
day_of_week: '*'
log: false
worker:
config:
template_class: \Drjele\Symfony\Console\Template\SupervisorTemplate
conf_files_dir: '%kernel.project_dir%/generated_conf/worker'
logs_dir: '%kernel.logs_dir%/worker'
number_of_processes: 1
auto_start: true
auto_restart: true
prefix: 'app-name'
user: 'root'
commands:
list:
command: '%kernel.project_dir%/bin/console list'
number_of_processes: 2
如果未手动添加,当 drjele_symfony_console.cronjob.config.heartbeat 命令存在时,会自动添加名为 heartbeat
的命令。
对于自定义模板
创建一个实现 Drjele\Symfony\Console\Contract\TemplateInterface 的模板服务,并将其添加到您的 services.yaml 配置中
services:
_instanceof:
Drjele\Symfony\Console\Contract\TemplateInterface:
tags: [ 'drjele.symfony.console.template' ]
开发
git clone git@gitlab.com:drjele-symfony/console.git
cd console
rm -rf .git/hooks && ln -s ../dev/git-hooks .git/hooks
./dc build && ./dc up -d