precision-soft / symfony-console
symfony 控制台工具
v1.0.0
2024-09-19 11:55 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
您可以随意将其分支和修改.
欢迎提出建议。
配置示例
precision_soft_symfony_console.yaml
precision_soft_symfony_console:
cron:
config:
template_class: \PrecisionSoft\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: \PrecisionSoft\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
如果设置了 precision_soft_symfony_console.cronjob.config.heartbeat,则将自动添加名为 heartbeat
的命令,除非您已添加。
对于自定义模板
创建一个模板服务以实现 PrecisionSoft\Symfony\Console\Contract\TemplateInterface 并在您的 services.yaml 中添加此配置
services:
_instanceof:
PrecisionSoft\Symfony\Console\Contract\TemplateInterface:
tags: [ 'precision-soft.symfony.console.template' ]
开发
git clone git@gitlab.com:precision-soft-open-source/symfony/console.git
cd console
./dc build && ./dc up -d