PHP code example of rvkulikov / yii2-scheduler

1. Go to this page and download the library: Download rvkulikov/yii2-scheduler library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

rvkulikov / yii2-scheduler example snippets



use Rvkulikov\Yii2\Scheduler\Components\ConnectionLocatorInterface;
use Rvkulikov\Yii2\Scheduler\Components\JobsLocator;
use Rvkulikov\Yii2\Scheduler\Components\JobsLocatorInterface;
use Rvkulikov\Yii2\Scheduler\Components\SettingsLocatorInterface;
use Rvkulikov\Yii2\Scheduler\Module as ScheduleModule;

return [
    'modules'             => [
        /// регистрировать можно только в консольном приложении
        /// или в приложении, которое не смотрит наружу, так как
        /// в контроллерах нет авторизации
        'schedule' => ['class' => ScheduleModule::class],
    ],
    'container' => [
        'singletons' => [    
            ConnectionLocatorInterface::class => [
                'db'     => 'dbApp',
                'schema' => $params['db_app.schema_app_schedule']
            ],
    
            JobsLocatorInterface::class => [
                'preprocessor' => [JobsLocator::class, 'preprocessTuples'],
                'definitions'  => fn() => 



return array_merge(...[
    AppJobInvoker::buildJobDefinitionTuples(),
    []
]);


class AppJobInvoker
{
    public const JOB_1 = 'app/job1';
    public const JOB_2 = 'app/job2';
    public const JOB_3 = 'app/job3';
    public const JOB_4 = 'app/job4';
    public const JOB_5 = 'app/job5';

    public static function buildJobDefinitionTuples(): array
    {
        return [
            //@formatter:off
            [self::JOB_1, [self::class, 'job1'], ["*/3  * * * * *"]],
            [self::JOB_2, [self::class, 'job2'], ["*/5  * * * * *"]],
            [self::JOB_3, [self::class, 'job3'], ["*/7  * * * * *"]],
            [self::JOB_4, [self::class, 'job4'], ["*/11 * * * * *"]],
            [self::JOB_5, [self::class, 'job5'], ["*/13 * * * * *"]],
            //@formatter:on
        ];
    }

    public static function job1(): array
    {
        return ['job_id' => 1];
    }

    public static function job2(): array
    {
        return ['job_id' => 2];
    }

    public static function job3(): array
    {
        return ['job_id' => 3];
    }

    public static function job4(): array
    {
        return ['job_id' => 4];
    }

    public static function job5(): array
    {
        return ['job_id' => 5];
    }
}
bash
php yii schedule/migrate/up
php yii schedule/migrate-jobs/run --strategy soft