Blame view

sources/lib/private/backgroundjob/job.php 1.21 KB
31b7f2792   Kload   Upgrade to ownclo...
1
2
3
4
5
6
7
8
9
  <?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;
6d9380f96   Cédric Dupont   Update sources OC...
10
11
12
  use OCP\BackgroundJob\IJob;
  
  abstract class Job implements IJob {
31b7f2792   Kload   Upgrade to ownclo...
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  	/**
  	 * @var int $id
  	 */
  	protected $id;
  
  	/**
  	 * @var int $lastRun
  	 */
  	protected $lastRun;
  
  	/**
  	 * @var mixed $argument
  	 */
  	protected $argument;
  
  	/**
  	 * @param JobList $jobList
  	 * @param \OC\Log $logger
  	 */
  	public function execute($jobList, $logger = null) {
  		$jobList->setLastRun($this);
  		try {
  			$this->run($this->argument);
  		} catch (\Exception $e) {
  			if ($logger) {
  				$logger->error('Error while running background job: ' . $e->getMessage());
  			}
  			$jobList->remove($this, $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;
  	}
  }