diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-25 13:36:30 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-30 16:36:59 +0200 |
commit | 9c9dc276b7a1d2592c4fb0a887888632dc1f1e29 (patch) | |
tree | bbe3aed3e09c31c68806bdb8acffef70ba08f51c /lib/backgroundjob | |
parent | a711399e62d5a9f14d4b748efe4354ee37e61f13 (diff) | |
download | nextcloud-server-9c9dc276b7a1d2592c4fb0a887888632dc1f1e29.tar.gz nextcloud-server-9c9dc276b7a1d2592c4fb0a887888632dc1f1e29.zip |
move the private namespace OC into lib/private - OCP will stay in lib/public
Conflicts:
lib/private/vcategories.php
Diffstat (limited to 'lib/backgroundjob')
-rw-r--r-- | lib/backgroundjob/job.php | 49 | ||||
-rw-r--r-- | lib/backgroundjob/joblist.php | 172 | ||||
-rw-r--r-- | lib/backgroundjob/legacy/queuedjob.php | 18 | ||||
-rw-r--r-- | lib/backgroundjob/legacy/regularjob.php | 15 | ||||
-rw-r--r-- | lib/backgroundjob/queuedjob.php | 28 | ||||
-rw-r--r-- | lib/backgroundjob/timedjob.php | 41 |
6 files changed, 0 insertions, 323 deletions
diff --git a/lib/backgroundjob/job.php b/lib/backgroundjob/job.php deleted file mode 100644 index 49fbffbd684..00000000000 --- a/lib/backgroundjob/job.php +++ /dev/null @@ -1,49 +0,0 @@ -<?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; - } - - public function getArgument() { - return $this->argument; - } -} diff --git a/lib/backgroundjob/joblist.php b/lib/backgroundjob/joblist.php deleted file mode 100644 index cc803dd9b5f..00000000000 --- a/lib/backgroundjob/joblist.php +++ /dev/null @@ -1,172 +0,0 @@ -<?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 once - * - * @package OC\BackgroundJob - */ -class JobList { - /** - * @param Job|string $job - * @param mixed $argument - */ - public function add($job, $argument = null) { - if (!$this->has($job, $argument)) { - if ($job instanceof Job) { - $class = get_class($job); - } else { - $class = $job; - } - $argument = json_encode($argument); - $query = \OC_DB::prepare('INSERT INTO `*PREFIX*jobs`(`class`, `argument`, `last_run`) VALUES(?, ?, 0)'); - $query->execute(array($class, $argument)); - } - } - - /** - * @param Job|string $job - * @param mixed $argument - */ - public function remove($job, $argument = null) { - if ($job instanceof Job) { - $class = get_class($job); - } else { - $class = $job; - } - if (!is_null($argument)) { - $argument = json_encode($argument); - $query = \OC_DB::prepare('DELETE FROM `*PREFIX*jobs` WHERE `class` = ? AND `argument` = ?'); - $query->execute(array($class, $argument)); - } else { - $query = \OC_DB::prepare('DELETE FROM `*PREFIX*jobs` WHERE `class` = ?'); - $query->execute(array($class)); - } - } - - /** - * check if a job is in the list - * - * @param $job - * @param mixed $argument - * @return bool - */ - public function has($job, $argument) { - if ($job instanceof Job) { - $class = get_class($job); - } else { - $class = $job; - } - $argument = json_encode($argument); - $query = \OC_DB::prepare('SELECT `id` FROM `*PREFIX*jobs` WHERE `class` = ? AND `argument` = ?'); - $result = $query->execute(array($class, $argument)); - return (bool)$result->fetchRow(); - } - - /** - * get all jobs in the list - * - * @return Job[] - */ - public function getAll() { - $query = \OC_DB::prepare('SELECT `id`, `class`, `last_run`, `argument` FROM `*PREFIX*jobs`'); - $result = $query->execute(); - $jobs = array(); - while ($row = $result->fetchRow()) { - $jobs[] = $this->buildJob($row); - } - return $jobs; - } - - /** - * get the next job in the list - * - * @return Job - */ - public function getNext() { - $lastId = $this->getLastJob(); - $query = \OC_DB::prepare('SELECT `id`, `class`, `last_run`, `argument` FROM `*PREFIX*jobs` WHERE `id` > ? ORDER BY `id` ASC', 1); - $result = $query->execute(array($lastId)); - if ($row = $result->fetchRow()) { - return $this->buildJob($row); - } else { - //begin at the start of the queue - $query = \OC_DB::prepare('SELECT `id`, `class`, `last_run`, `argument` FROM `*PREFIX*jobs` ORDER BY `id` ASC', 1); - $result = $query->execute(); - if ($row = $result->fetchRow()) { - return $this->buildJob($row); - } else { - return null; //empty job list - } - } - } - - /** - * @param int $id - * @return Job - */ - public function getById($id) { - $query = \OC_DB::prepare('SELECT `id`, `class`, `last_run`, `argument` FROM `*PREFIX*jobs` WHERE `id` = ?'); - $result = $query->execute(array($id)); - if ($row = $result->fetchRow()) { - return $this->buildJob($row); - } else { - return null; - } - } - - /** - * get the job object from a row in the db - * - * @param array $row - * @return Job - */ - private function buildJob($row) { - $class = $row['class']; - /** - * @var Job $job - */ - $job = new $class(); - $job->setId($row['id']); - $job->setLastRun($row['last_run']); - $job->setArgument(json_decode($row['argument'])); - return $job; - } - - /** - * set the job that was last ran - * - * @param Job $job - */ - public function setLastJob($job) { - \OC_Appconfig::setValue('backgroundjob', 'lastjob', $job->getId()); - } - - /** - * get the id of the last ran job - * - * @return int - */ - public function getLastJob() { - return \OC_Appconfig::getValue('backgroundjob', 'lastjob', 0); - } - - /** - * set the lastRun of $job to now - * - * @param Job $job - */ - public function setLastRun($job) { - $query = \OC_DB::prepare('UPDATE `*PREFIX*jobs` SET `last_run` = ? WHERE `id` = ?'); - $query->execute(array(time(), $job->getId())); - } -} diff --git a/lib/backgroundjob/legacy/queuedjob.php b/lib/backgroundjob/legacy/queuedjob.php deleted file mode 100644 index 2bc001103b8..00000000000 --- a/lib/backgroundjob/legacy/queuedjob.php +++ /dev/null @@ -1,18 +0,0 @@ -<?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\Legacy; - -class QueuedJob extends \OC\BackgroundJob\QueuedJob { - public function run($argument) { - $class = $argument['klass']; - $method = $argument['method']; - $parameters = $argument['parameters']; - call_user_func(array($class, $method), $parameters); - } -} diff --git a/lib/backgroundjob/legacy/regularjob.php b/lib/backgroundjob/legacy/regularjob.php deleted file mode 100644 index d4cfa348cea..00000000000 --- a/lib/backgroundjob/legacy/regularjob.php +++ /dev/null @@ -1,15 +0,0 @@ -<?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\Legacy; - -class RegularJob extends \OC\BackgroundJob\Job { - public function run($argument) { - call_user_func($argument); - } -} diff --git a/lib/backgroundjob/queuedjob.php b/lib/backgroundjob/queuedjob.php deleted file mode 100644 index 1714182820d..00000000000 --- a/lib/backgroundjob/queuedjob.php +++ /dev/null @@ -1,28 +0,0 @@ -<?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 once - * - * @package OC\BackgroundJob - */ -abstract class QueuedJob extends Job { - /** - * run the job, then remove it from the joblist - * - * @param JobList $jobList - */ - public function execute($jobList) { - $jobList->remove($this); - $this->run($this->argument); - } -} diff --git a/lib/backgroundjob/timedjob.php b/lib/backgroundjob/timedjob.php deleted file mode 100644 index ae9f33505ab..00000000000 --- a/lib/backgroundjob/timedjob.php +++ /dev/null @@ -1,41 +0,0 @@ -<?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 - */ - public function execute($jobList) { - if ((time() - $this->lastRun) > $this->interval) { - $jobList->setLastRun($this); - $this->run($this->argument); - } - } -} |