nextcloud/lib/backgroundjob/job.php

46 lines
810 B
PHP

<?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;
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();
}
}