* This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ namespace OC\BackgroundJob; abstract class Job { protected $id; protected $lastRun; protected $argument; /** * @param JobList $jobList */ public function execute($jobList) { $jobList->setLastRun($this); $this->run($this->argument); } abstract protected function run($argument); public function setId($id) { $this->id = $id; } public function setLastRun($lastRun) { $this->lastRun = $lastRun; } public function setArgument($argument) { $this->argument = $argument; } public function getId() { return $this->id; } public function getLastRun() { return $this->lastRun; } public function getArgument() { return $this->argument; } }