Merge pull request #8064 from nextcloud/background-jobs
Deprecated OCP interface to fetch background job type
This commit is contained in:
commit
fe7e726ab2
12
cron.php
12
cron.php
|
@ -63,7 +63,7 @@ try {
|
||||||
$logger = \OC::$server->getLogger();
|
$logger = \OC::$server->getLogger();
|
||||||
$config = \OC::$server->getConfig();
|
$config = \OC::$server->getConfig();
|
||||||
|
|
||||||
// Don't do anything if ownCloud has not been installed
|
// Don't do anything if Nextcloud has not been installed
|
||||||
if (!$config->getSystemValue('installed', false)) {
|
if (!$config->getSystemValue('installed', false)) {
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
@ -71,8 +71,8 @@ try {
|
||||||
\OC::$server->getTempManager()->cleanOld();
|
\OC::$server->getTempManager()->cleanOld();
|
||||||
|
|
||||||
// Exit if background jobs are disabled!
|
// Exit if background jobs are disabled!
|
||||||
$appMode = \OCP\BackgroundJob::getExecutionType();
|
$appMode = $config->getAppValue('core', 'backgroundjobs_mode', 'ajax');
|
||||||
if ($appMode == 'none') {
|
if ($appMode === 'none') {
|
||||||
if (OC::$CLI) {
|
if (OC::$CLI) {
|
||||||
echo 'Background Jobs are disabled!' . PHP_EOL;
|
echo 'Background Jobs are disabled!' . PHP_EOL;
|
||||||
} else {
|
} else {
|
||||||
|
@ -101,9 +101,9 @@ try {
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// We call ownCloud from the CLI (aka cron)
|
// We call Nextcloud from the CLI (aka cron)
|
||||||
if ($appMode != 'cron') {
|
if ($appMode !== 'cron') {
|
||||||
\OCP\BackgroundJob::setExecutionType('cron');
|
$config->setAppValue('core', 'backgroundjobs_mode', 'cron');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Work
|
// Work
|
||||||
|
|
|
@ -45,6 +45,7 @@ class DeprecationCheck extends AbstractCheck {
|
||||||
'OCP\Response' => '8.1.0',
|
'OCP\Response' => '8.1.0',
|
||||||
'OCP\AppFramework\IApi' => '8.0.0',
|
'OCP\AppFramework\IApi' => '8.0.0',
|
||||||
'OCP\User' => '13.0.0',
|
'OCP\User' => '13.0.0',
|
||||||
|
'OCP\BackgroundJob' => '14.0.0',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,6 +117,8 @@ class DeprecationCheck extends AbstractCheck {
|
||||||
'OCP\AppFramework\IAppContainer::log' => '8.0.0',
|
'OCP\AppFramework\IAppContainer::log' => '8.0.0',
|
||||||
|
|
||||||
'OCP\BackgroundJob::registerJob' => '8.1.0',
|
'OCP\BackgroundJob::registerJob' => '8.1.0',
|
||||||
|
'OCP\BackgroundJob::getExecutionType' => '14.0.0',
|
||||||
|
'OCP\BackgroundJob::setExecutionType' => '14.0.0',
|
||||||
|
|
||||||
'OCP\Files::tmpFile' => '8.1.0',
|
'OCP\Files::tmpFile' => '8.1.0',
|
||||||
'OCP\Files::tmpFolder' => '8.1.0',
|
'OCP\Files::tmpFolder' => '8.1.0',
|
||||||
|
|
|
@ -25,67 +25,32 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Public interface of ownCloud for background jobs.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// use OCP namespace for all classes that are considered public.
|
|
||||||
// This means that they should be used by apps instead of the internal ownCloud classes
|
|
||||||
namespace OCP;
|
namespace OCP;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides functions to register backgroundjobs in ownCloud
|
|
||||||
*
|
|
||||||
* To create a new backgroundjob create a new class that inherits from either \OC\BackgroundJob\Job,
|
|
||||||
* \OC\BackgroundJob\QueuedJob or \OC\BackgroundJob\TimedJob and register it using
|
|
||||||
* \OCP\BackgroundJob->registerJob($job, $argument), $argument will be passed to the run() function
|
|
||||||
* of the job when the job is executed.
|
|
||||||
*
|
|
||||||
* A regular Job will be executed every time cron.php is run, a QueuedJob will only run once and a TimedJob
|
|
||||||
* will only run at a specific interval which is to be specified in the constructor of the job by calling
|
|
||||||
* $this->setInterval($interval) with $interval in seconds.
|
|
||||||
* @since 4.5.0
|
* @since 4.5.0
|
||||||
|
* @deprecated 14.0.0
|
||||||
*/
|
*/
|
||||||
class BackgroundJob {
|
class BackgroundJob {
|
||||||
/**
|
/**
|
||||||
* get the execution type of background jobs
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*
|
|
||||||
* This method returns the type how background jobs are executed. If the user
|
|
||||||
* did not select something, the type is ajax.
|
|
||||||
* @since 5.0.0
|
* @since 5.0.0
|
||||||
|
* @deprecated 14.0.0
|
||||||
*/
|
*/
|
||||||
public static function getExecutionType() {
|
public static function getExecutionType() {
|
||||||
return \OC::$server->getConfig()->getAppValue('core', 'backgroundjobs_mode', 'ajax');
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sets the background jobs execution type
|
|
||||||
*
|
|
||||||
* @param string $type execution type
|
|
||||||
* @return false|null
|
|
||||||
*
|
|
||||||
* This method sets the execution type of the background jobs. Possible types
|
|
||||||
* are "none", "ajax", "webcron", "cron"
|
|
||||||
* @since 5.0.0
|
* @since 5.0.0
|
||||||
|
* @deprecated 14.0.0
|
||||||
*/
|
*/
|
||||||
public static function setExecutionType($type) {
|
public static function setExecutionType($type) {
|
||||||
if( !in_array( $type, array('none', 'ajax', 'webcron', 'cron'))) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
\OC::$server->getConfig()->setAppValue('core', 'backgroundjobs_mode', $type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $job
|
|
||||||
* @param mixed $argument
|
|
||||||
* @deprecated 8.1.0 Use \OC::$server->getJobList()->add() instead
|
|
||||||
* @since 6.0.0
|
* @since 6.0.0
|
||||||
|
* @deprecated 8.1.0 Use \OC::$server->getJobList()->add() instead
|
||||||
*/
|
*/
|
||||||
public static function registerJob($job, $argument = null) {
|
public static function registerJob($job, $argument = null) {
|
||||||
$jobList = \OC::$server->getJobList();
|
|
||||||
$jobList->add($job, $argument);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,19 @@ namespace OCP\BackgroundJob;
|
||||||
/**
|
/**
|
||||||
* Interface IJobList
|
* Interface IJobList
|
||||||
*
|
*
|
||||||
|
* This interface provides functions to register background jobs
|
||||||
|
*
|
||||||
|
* To create a new background job create a new class that inherits from either
|
||||||
|
* \OC\BackgroundJob\Job, \OC\BackgroundJob\QueuedJob or
|
||||||
|
* \OC\BackgroundJob\TimedJob and register it using ->add($job, $argument),
|
||||||
|
* $argument will be passed to the run() function of the job when the job is
|
||||||
|
* executed.
|
||||||
|
*
|
||||||
|
* A regular job will be executed every time cron.php is run, a QueuedJob will
|
||||||
|
* only run once and a TimedJob will only run at a specific interval which is to
|
||||||
|
* be specified in the constructor of the job by calling
|
||||||
|
* $this->setInterval($interval) with $interval in seconds.
|
||||||
|
*
|
||||||
* @package OCP\BackgroundJob
|
* @package OCP\BackgroundJob
|
||||||
* @since 7.0.0
|
* @since 7.0.0
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue