drjele/symfony-command

此包已被废弃,不再维护。作者建议使用 drjele/symfony-console 包。

symfony命令工具

安装次数: 2,518

依赖者: 0

建议者: 0

安全: 0

类型:symfony-bundle

v4.0.0 2021-12-07 15:37 UTC

This package is auto-updated.

Last update: 2022-01-06 13:23:20 UTC


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.git
  • cd 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 -d
  • docker-compose exec php sh
  • composer install