<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
vientoquesurcalosmares / liebig-cron-updated example snippets
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider {
//...
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot() {
// Please note the different namespace
// and please add a \ in front of your classes in the global namespace
\Event::listen('cron.collectJobs', function() {
\Cron::add('example1', '* * * * *', function() {
// Do some crazy things unsuccessfully every minute
return 'No';
});
\Cron::add('example2', '*/2 * * * *', function() {
// Do some crazy things successfully every two minute
return null;
});
\Cron::add('disabled job', '0 * * * *', function() {
// Do some crazy things successfully every hour
}, false);
});
}
}
Event::listen('cron.collectJobs', function() {
Cron::add('example1', '* * * * *', function() {
// Do some crazy things unsuccessfully every minute
return 'No';
});
Cron::add('example2', '*/2 * * * *', function() {
// Do some crazy things successfully every two minute
return null;
});
Cron::add('disabled job', '0 * * * *', function() {
// Do some crazy things successfully every hour
}, false);
});
// Cron application key for securing the integrated Cron run route - if the value is empty, the route is disabled
'cronKey' => '1PBgabAXdoLTy3JDyi0xRpTR2qNrkkQy'
public static function add($name, $expression, $function, $isEnabled = true) {
\Cron::add('example1', '* * * * *', function() {
// Do some crazy things successfully every minute
return null;
});
\Cron::add('example2', '*/2 * * * *', function() {
// Oh no, this job has errors and runs every two minutes
return false;
}, true);
public static function remove($name) {
\Cron::add('example1', '* * * * *', function() {
// Do some crazy things successfully every minute
return null;
});
\Cron::remove('example1');
public static function setEnableJob($jobname, $enable = true) {
public static function setDisableJob($jobname) {
\Cron::add('example1', '* * * * *', function() {
// Do some crazy things successfully every minute
return null;
});
\Cron::setDisableJob('example1');
// No jobs will be called
$report = \Cron::run();
\Cron::setEnableJob('example1');
// One job will be called
$report = \Cron::run();
public static function run() {
$report = \Cron::run();
public static function setRunInterval($minutes) {
// Set the run intervall to 15 minutes
\Cron::setRunInterval(15);
// Or set the run intervall to 30 minutes
\Cron::setRunInterval(30);
public static function setLaravelLogging($bool) {
// Laravel logging is enabled by default
\Cron::run();
// Disable Laravel logging
\Cron::setLaravelLogging(false);
// Laravel logging is disabled
\Cron::run();
public static function setLogger(\Monolog\Logger $logger = null) {
\Cron::setLogger(new \Monolog\Logger('cronLogger'));
// And remove the logger again
\Cron::setLogger();
public static function setDatabaseLogging($bool) {
\Cron::setDatabaseLogging(false);
public static function setLogOnlyErrorJobsToDatabase($bool) {
// Log only error jobs to database
\Cron::setLogOnlyErrorJobsToDatabase(true);
public static function setDeleteDatabaseEntriesAfter($hours) {
// Set the delete database entries reference value to 10 days (24 hours x 10 days)
\Cron::setDeleteDatabaseEntriesAfter(240);
public static function setEnablePreventOverlapping() {
// The configuration could be set via config file with the key 'preventOverlapping' or via method
\Cron::setEnablePreventOverlapping();
// Now the Cron run will only run once at the same time
\Cron::setDisablePreventOverlapping();
// Prevent overlapping is disabled and many Cron run executions are possible at the same time
\Event::listen('cron.jobError', function($name, $return, $runtime, $rundate){
\Log::error('Job with the name ' . $name . ' returned an error.');
});
public static function reset() {
\Cron::add('example1', '* * * * *', function() {
// Do some crazy things successfully every minute
return null;
});
\Cron::setLogger(new \Monolog\Logger('cronLogger'));
\Cron::reset();
// \Cron::remove('example1') === false
// \Cron::getLogger() === NULL
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.