denisogr/yii2-cronjobs

cronjobs

Installs: 29 041

Dependents: 1

Suggesters: 0

Security: 0

Stars: 48

Watchers: 11

Forks: 38

Open Issues: 7

Type:yii2-extension

dev-master 2017-05-17 08:06 UTC

This package is not auto-updated.

Last update: 2024-04-13 14:18:27 UTC


README

Easiest way to put crontab on your console scripts.

This extension is based on this. Thanks Yiivgeny.

But with a few changes:

  • Work eith yii2
  • Set config in params (not in phpDocs).

I transfer ​​settings of crontab in local settings(params) configuration, so that the application can be run on different servers with different sets of crontab.

Installation

  • Step 1: The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist denisogr/yii2-cronjobs "dev-master"

or add

"denisogr/yii2-cronjobs": "dev-master"

to the require section of your composer.json file.

  • Step 2: Set aliase @runnerScript in console config. This absolutely path to runner script (I can not find another way to get runner script). Change path to runner script as your project (For Yii2 Basic application).
Yii::setAlias('@runnerScript', dirname(__DIR__) .'/yii');
  • Step 3: Add to console config:
'controllerMap' => [
       'cron' => [
           'class' => 'denisog\cronjobs\CronController'
       ],
   ],
  • Step 4: Add task to system scheduler (cron on unix, task scheduler on windows) to run every minute:
* * * * * /path/to/yii/application/protected/yiic cron

Usage

Add in params array with cron sets:

'cronJobs' =>[
        'test/example1' => [
            'cron'      => '* * * * *',            
        ],
	'test/example2' => [
            'cron'      => '10 * * * *',            
        ],

    ],

You can point any settings from this.