diff options
author | Morris Jobke <hey@morrisjobke.de> | 2018-11-01 12:52:09 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2018-11-01 15:23:40 +0100 |
commit | f5a1f4bc1b6338804106e4beac6af5ab2732a947 (patch) | |
tree | 0a9ef3f67aa5299ed97858acecb6ff1a7e0486f5 /lib/private/BackgroundJob | |
parent | bfab6ccf1bcce9e778721e7e9e63cc8b315db298 (diff) | |
download | nextcloud-server-f5a1f4bc1b6338804106e4beac6af5ab2732a947.tar.gz nextcloud-server-f5a1f4bc1b6338804106e4beac6af5ab2732a947.zip |
Revert "Wait for cron to finish before running upgrade command"
This reverts commit 18e9631810ad1d3d72c2b4bbee330169808108ad.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Diffstat (limited to 'lib/private/BackgroundJob')
-rw-r--r-- | lib/private/BackgroundJob/JobList.php | 40 |
1 files changed, 1 insertions, 39 deletions
diff --git a/lib/private/BackgroundJob/JobList.php b/lib/private/BackgroundJob/JobList.php index fab608cf164..e890c35868b 100644 --- a/lib/private/BackgroundJob/JobList.php +++ b/lib/private/BackgroundJob/JobList.php @@ -48,9 +48,6 @@ class JobList implements IJobList { /**@var ITimeFactory */ protected $timeFactory; - /** @var int - 12 hours * 3600 seconds*/ - private $jobTimeOut = 43200; - /** * @param IDBConnection $connection * @param IConfig $config @@ -186,7 +183,7 @@ class JobList implements IJobList { $query = $this->connection->getQueryBuilder(); $query->select('*') ->from('jobs') - ->where($query->expr()->lte('reserved_at', $query->createNamedParameter($this->timeFactory->getTime() - $this->jobTimeOut, IQueryBuilder::PARAM_INT))) + ->where($query->expr()->lte('reserved_at', $query->createNamedParameter($this->timeFactory->getTime() - 12 * 3600, IQueryBuilder::PARAM_INT))) ->andWhere($query->expr()->lte('last_checked', $query->createNamedParameter($this->timeFactory->getTime(), IQueryBuilder::PARAM_INT))) ->orderBy('last_checked', 'ASC') ->setMaxResults(1); @@ -346,39 +343,4 @@ class JobList implements IJobList { ->where($query->expr()->eq('id', $query->createNamedParameter($job->getId(), IQueryBuilder::PARAM_INT))); $query->execute(); } - - /** - * checks if a job is still running (reserved_at time is smaller than 12 hours ago) - * - * Background information: - * - * The 12 hours is the same timeout that is also used to re-schedule an non-terminated - * job (see getNext()). The idea here is to give a job enough time to run very - * long but still be able to recognize that it maybe crashed and re-schedule it - * after the timeout. It's more likely to be crashed at that time than it ran - * that long. - * - * In theory it could lead to an nearly endless loop (as in - at most 12 hours). - * The cron command will not start new jobs when maintenance mode is active and - * this method is only executed in maintenance mode (see where it is called in - * the upgrader class. So this means in the worst case we wait 12 hours when a - * job has crashed. On the other hand: then the instance should be fixed anyways. - * - * @return bool - */ - public function isAnyJobRunning(): bool { - $query = $this->connection->getQueryBuilder(); - $query->select('*') - ->from('jobs') - ->where($query->expr()->gt('reserved_at', $query->createNamedParameter($this->timeFactory->getTime() - $this->jobTimeOut, IQueryBuilder::PARAM_INT))) - ->setMaxResults(1); - $result = $query->execute(); - $row = $result->fetch(); - $result->closeCursor(); - - if ($row) { - return true; - } - return false; - } } |