2013-04-21 01:27:46 +04:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
|
|
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
|
|
* later.
|
|
|
|
* See the COPYING-README file.
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace OC\BackgroundJob;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class QueuedJob
|
|
|
|
*
|
|
|
|
* create a background job that is to be executed at an interval
|
|
|
|
*
|
|
|
|
* @package OC\BackgroundJob
|
|
|
|
*/
|
|
|
|
abstract class TimedJob extends Job {
|
|
|
|
protected $interval = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* set the interval for the job
|
|
|
|
*
|
|
|
|
* @param int $interval
|
|
|
|
*/
|
|
|
|
public function setInterval($interval) {
|
|
|
|
$this->interval = $interval;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* run the job if
|
|
|
|
*
|
|
|
|
* @param JobList $jobList
|
2013-12-02 16:41:47 +04:00
|
|
|
* @param \OC\Log $logger
|
2013-04-21 01:27:46 +04:00
|
|
|
*/
|
2013-12-02 16:41:47 +04:00
|
|
|
public function execute($jobList, $logger = null) {
|
2013-04-21 01:27:46 +04:00
|
|
|
if ((time() - $this->lastRun) > $this->interval) {
|
2013-12-02 16:41:47 +04:00
|
|
|
parent::execute($jobList, $logger);
|
2013-04-21 01:27:46 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|