drjele / symfony-command
v4.0.0
2021-12-07 15:37 UTC
Requires
- php: ^8.0
- symfony/config: ^4.0|^5.0|^6.0
- symfony/console: ^4.0|^5.0|^6.0
- symfony/dependency-injection: ^4.0|^5.0|^6.0
- symfony/filesystem: ^4.0|^5.0|^6.0
- symfony/http-kernel: ^4.0|^5.0|^6.0
Requires (Dev)
- drjele/symfony-phpunit: ^3.0
- friendsofphp/php-cs-fixer: ^3.3
- squizlabs/php_codesniffer: ^3.6
README
此项目不再维护,新项目是 https://gitlab.com/drjele-symfony/console
symfony命令
您可以根据需要对其进行分叉和修改.
欢迎提出建议。
配置示例
drjele_symfony_command.yaml
drjele_symfony_command:
cron:
config:
template_class: \Drjele\Symfony\Command\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\Command\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_command.cron.config.heartbeat 时,将自动添加名为 heartbeat 的命令。
对于自定义模板
创建一个模板服务来实现 Drjele\Symfony\Command\Contract\TemplateInterface,并将其添加到您的 services.yaml 配置中
services:
_instanceof:
Drjele\Symfony\Command\Contract\TemplateInterface:
tags: ['drjele.symfony.command.template']
开发
git clone git@gitlab.com:drjele-symfony/command.gitcd command/scripts/docker/cp ~/.ssh/id_* ./创建 .profile_personal,内容如下:
echo 'git config --global user.name "<your name>"' >> ./.profile_personal && \
echo 'git config --global user.email "<your email>"' >> ./.profile_personal
docker-compose build && docker-compose up -ddocker-compose exec php shcomposer install