summaryrefslogtreecommitdiffstats
path: root/lib/backgroundjob
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-09-25 13:36:30 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-09-30 16:36:59 +0200
commit9c9dc276b7a1d2592c4fb0a887888632dc1f1e29 (patch)
treebbe3aed3e09c31c68806bdb8acffef70ba08f51c /lib/backgroundjob
parenta711399e62d5a9f14d4b748efe4354ee37e61f13 (diff)
downloadnextcloud-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.php49
-rw-r--r--lib/backgroundjob/joblist.php172
-rw-r--r--lib/backgroundjob/legacy/queuedjob.php18
-rw-r--r--lib/backgroundjob/legacy/regularjob.php15
-rw-r--r--lib/backgroundjob/queuedjob.php28
-rw-r--r--lib/backgroundjob/timedjob.php41
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);
- }
- }
-}