Download the PHP package yii2mod/yii2-scheduling without Composer
On this page you can find all versions of the php package yii2mod/yii2-scheduling. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download yii2mod/yii2-scheduling
More information about yii2mod/yii2-scheduling
Files in yii2mod/yii2-scheduling
Package yii2-scheduling
Short Description Scheduling extension for Yii2 framework
License
Informations about the package yii2-scheduling
Yii2 Schedule Extension
This extension is the port of Laravel's Schedule component (http://laravel.com/docs/master/artisan#scheduling-artisan-commands)
Installation
The preferred way to install this extension is through composer.
Either run
or add
to the require
section of your composer.json.
Description
This project is inspired by the Laravel's Schedule component and tries to bring it's simplicity to the Yii framework. Quote from Laravel's documentation:
After installation all you have to do is to put single line into crontab:
You can put your schedule into the schedule.php
file, or add it withing bootstrapping of your extension or
application
Schedule examples
This extension is support all features of Laravel's Schedule, except environments and maintance mode.
Scheduling Closures
Scheduling Terminal Commands
Running command of your application
Frequent Jobs
Daily Jobs
Daily Jobs At A Specific Time (24 Hour Time)
Twice Daily Jobs
Job That Runs Every Weekday
Weekly Jobs
Monthly Jobs
Job That Runs On Specific Days
Only Allow Job To Run When Callback Is True
Only Allow Job To Run When skip
Callback is False
Set Custom Description For Scheduled Job
E-mail The Output Of A Scheduled Job
To see the list of registered tasks, you can use the schedule/list
command as below:
How to use this extension in your application?
You should create the following file under @console/config/schedule.php
(note: you can create file with any name
and extension and anywere on your server, simpli ajust the name of the scheduleFile in the command below):
Next your should add the following command to your crontab:
That's all! Now all your cronjobs will be runned as configured in your schedule.php file.
How to use this extension in your own extension?
First of all, you should include dependency to the yii2mod\yii2-scheduling
into your composer.json:
Next you should create bootstrapping class for your extension, as described in the http://www.yiiframework.com/doc-2.0/guide-structure-extensions.html#bootstrapping-classes
Place into your bootstrapping method the following code:
Add to the README of your extension info for the user to register schedule
component for the application
and add schedule/run
command to the crontab as described upper.
Using schedule
component
You do not have to use schedule
component directly or define it in your application if you use schedule only in your application (and do not want to give ability for extensions to register they own cron jobs). But if you what to give extensions ability to register cronjobs, you should define schedule
component in the application config:
Using addition functions
If you want to use thenPing
method of the Event, you should add the following string to the composer.json
of your app:
Note about timezones
Please note, that this is PHP extension, so it use timezone defined in php config or in your Yii's configuration file, so set them correctly.
All versions of yii2-scheduling with dependencies
yiisoft/yii2 Version 2.0.*
symfony/process Version ~3.2
mtdowling/cron-expression Version ~1.0
league/climate Version ^3.2
guzzlehttp/guzzle Version ^6.3
nesbot/carbon Version ~1.21