Пример #1
0
 /**
  * Test method for enable and disable jobs by using the setter methods
  *
  * @covers \Liebig\Cron\Cron::setEnableJob
  * @covers \Liebig\Cron\Cron::setDisableJob
  * @covers \Liebig\Cron\Cron::isJobEnabled
  */
 public function testEnableDisableJobsBySetter()
 {
     $iTest1 = 0;
     $iTest2 = 0;
     $iTest3 = 0;
     Cron::add('test1', '* * * * *', function () use(&$iTest1) {
         $iTest1++;
         return false;
     }, true);
     Cron::add('test2', '* * * * *', function () use(&$iTest2) {
         $iTest2++;
         return false;
     }, true);
     Cron::add('test3', '* * * * *', function () use(&$iTest3) {
         $iTest3++;
         return false;
     }, false);
     $this->assertEquals(true, Cron::isJobEnabled('test1'));
     $this->assertEquals(true, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(1, $iTest1);
     $this->assertEquals(1, $iTest2);
     $this->assertEquals(0, $iTest3);
     $this->assertEquals(1, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(2, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setEnableJob('test3'));
     $this->assertEquals(true, Cron::isJobEnabled('test1'));
     $this->assertEquals(true, Cron::isJobEnabled('test2'));
     $this->assertEquals(true, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(2, $iTest1);
     $this->assertEquals(2, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(2, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(5, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setDisableJob('test1'));
     $this->assertEquals(true, Cron::setDisableJob('test3'));
     $this->assertEquals(false, Cron::setDisableJob('noSuchJob'));
     $this->assertEquals(false, Cron::isJobEnabled('test1'));
     $this->assertEquals(true, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(2, $iTest1);
     $this->assertEquals(3, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(3, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(6, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setEnableJob('test2', false));
     $this->assertEquals(false, Cron::isJobEnabled('test1'));
     $this->assertEquals(false, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(2, $iTest1);
     $this->assertEquals(3, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(4, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(6, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setEnableJob('test1', true));
     $this->assertEquals(true, Cron::isJobEnabled('test1'));
     $this->assertEquals(false, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(3, $iTest1);
     $this->assertEquals(3, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(5, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(7, \Liebig\Cron\Models\Job::count());
 }
Пример #2
0
});
/*
|--------------------------------------------------------------------------
| Require The Filters File
|--------------------------------------------------------------------------
|
| Next we will load the filters file for the application. This gives us
| a nice separate location to store our route and application filter
| definitions instead of putting them all in the main routes file.
|
*/
require app_path() . '/filters.php';
/*
|--------------------------------------------------------------------------
| Lieberg Cron Jobs
|--------------------------------------------------------------------------
|	this will help us excute all our cron job functions
| 	
| 
| 
|
*/
Event::listen('cron.collectJobs', function () {
    Cron::add('update', '* * * * *', function () {
        // Do some crazy things unsuccessfully every minute
        $orders = Order::where('activity', '=', '0')->delete();
        return true;
    });
    Cron::setEnableJob('update');
    $report = Cron::run();
});