server/lib/private/backgroundjob/job.php
Joas Schilling 6b813f56c9 Do not delete background jobs, in case an exception occured
This approach is not valid anymore. It initially was added for jobs
of non existing apps. But jobs of non-existing apps can not be created
so they will never be executed and so this call just catches other
cases which were not intended.

This reverts commit 4f4ad72460.
2015-12-18 14:31:27 +01:00

85 lines
1.8 KiB
PHP

<?php
/**
* @author Morris Jobke <hey@morrisjobke.de>
* @author Robin Appelman <icewind@owncloud.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
*
* This code is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License, version 3,
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
namespace OC\BackgroundJob;
use OCP\BackgroundJob\IJob;
use OCP\ILogger;
abstract class Job implements IJob {
/**
* @var int $id
*/
protected $id;
/**
* @var int $lastRun
*/
protected $lastRun;
/**
* @var mixed $argument
*/
protected $argument;
/**
* @param JobList $jobList
* @param ILogger $logger
*/
public function execute($jobList, ILogger $logger = null) {
$jobList->setLastRun($this);
try {
$this->run($this->argument);
} catch (\Exception $e) {
if ($logger) {
$logger->error('Error while running background job: ' . $e->getMessage());
}
}
}
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;
}
}