b3nnu3/spryker-scheduler

此软件包最新版本(dev-master)没有可用的许可信息。

调度器模块

dev-master 2020-01-28 14:25 UTC

This package is not auto-updated.

Last update: 2024-10-03 11:29:31 UTC


README

在您的spryker设置中替换Jenkins

使用 peppeocchi/php-cron-scheduler 代替 Jenkins 以节省资源。

安装

composer require B3NNU3/spryker-scheduler

从以下位置复制文件:config/Zed/cronjobs 到 YOUR_PROJECT_ROOT/config/Zed/cronjobs/
将以下内容添加到 src/Pyz/Zed/Console/ConsoleDependencyProvider.php

[...]
use B3NNU3\Zed\CronScheduler\Communication\Console\CronSchedulerCreate;
use B3NNU3\Zed\CronScheduler\Communication\Console\CronSchedulerExecute;
use B3NNU3\Zed\CronScheduler\Communication\Console\CronSchedulerRemove;
[...]

    /**
     * @param \Spryker\Zed\Kernel\Container $container
     *
     * @return \Symfony\Component\Console\Command\Command[]
     */
    protected function getConsoleCommands(Container $container): array
    {
        $commands = parent::getConsoleCommands($container);

        [...]
        $commands[] = new CronSchedulerExecute();
        $commands[] = new CronSchedulerCreate();
        $commands[] = new CronSchedulerRemove();
        [...]

        return $commands;
    }

运行

vendor/bin/console transfer:generate

运行以下命令以将调度器脚本设置为 crontab

cron:scheduler:create

用法

cron 将每分钟执行一次。
它将运行 scheduler.php 中的每个命令。
如果命令开始调度器,它将在 data/CLI/scheduler/COMMAND_NAME.lock 中为它创建一个 .lock 文件
更多信息请见 peppeocchi/php-cron-scheduler

杂项

请参阅 /config/install 下的您安装配方

您应该替换以下内容
而不是

    jenkins-down:
        jenkins-stop:
            command: "vendor/bin/console scheduler:clean"
            stores: true

使用

    scheduler-down:
        remove-cron:
            command: "vendor/bin/console cron:scheduler:remove"

并且代替

    jenkins-up:
        jenkins-generate:
            command: "vendor/bin/console scheduler:setup"
            stores: true

        jenkins-enable:
            command: "vendor/bin/console scheduler:resume"
            stores: true

使用

    scheduler-up:
        crons-enable:
            command: "vendor/bin/console cron:scheduler:create"