Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions core/Command/Background/Job.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$output->writeln('<error>Something went wrong when trying to retrieve Job with ID ' . $jobId . ' from database</error>');
return 1;
}
/** @psalm-suppress DeprecatedMethod Calling execute until it is removed, then will switch to start */
$job->execute($this->jobList);
$job->start($this->jobList);
$job = $this->jobList->getById($jobId);

if (($job === null) || ($lastRun !== $job->getLastRun())) {
Expand Down
4 changes: 1 addition & 3 deletions core/Command/Background/JobWorker.php
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$this->printJobInfo($job->getId(), $job, $output);
}

/** @psalm-suppress DeprecatedMethod Calling execute until it is removed, then will switch to start */
$job->execute($this->jobList);

$job->start($this->jobList);
$output->writeln('Job ' . $job->getId() . ' has finished', OutputInterface::VERBOSITY_VERBOSE);

// clean up after unclean jobs
Expand Down
6 changes: 2 additions & 4 deletions cron.php
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,7 @@
echo 'Starting job ' . $jobDetails . PHP_EOL;
}

/** @psalm-suppress DeprecatedMethod Calling execute until it is removed, then will switch to start */
$job->execute($jobList);
$job->start($jobList);

$timeAfter = time();
$memoryAfter = memory_get_usage();
Expand Down Expand Up @@ -237,8 +236,7 @@
$job = $jobList->getNext();
if ($job != null) {
$logger->debug('WebCron call has selected job with ID ' . strval($job->getId()), ['app' => 'cron']);
/** @psalm-suppress DeprecatedMethod Calling execute until it is removed, then will switch to start */
$job->execute($jobList);
$job->start($jobList);
$jobList->setLastJob($job);
}
OC_JSON::success();
Expand Down
17 changes: 3 additions & 14 deletions lib/public/BackgroundJob/IJob.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
*/
namespace OCP\BackgroundJob;

use OCP\ILogger;

/**
* This interface represents a background job run with cron
*
* To implement a background job, you must extend either \OCP\BackgroundJob\Job,
* \OCP\BackgroundJob\TimedJob or \OCP\BackgroundJob\QueuedJob
*
* @since 7.0.0
* @since 25.0.0 deprecated `execute()` method in favor of `start()`
* @since 33.0.0 removed deprecated `execute()` method
*/
interface IJob {
/**
Expand All @@ -27,25 +27,14 @@ interface IJob {
*/
public const TIME_SENSITIVE = 1;

/**
* Run the background job with the registered argument
*
* @param IJobList $jobList The job list that manages the state of this job
* @param ILogger|null $logger
* @since 7.0.0
* @deprecated 25.0.0 Use start() instead. This method will be removed
* with the ILogger interface
*/
public function execute(IJobList $jobList, ?ILogger $logger = null);

/**
* Start the background job with the registered argument
*
* This methods will take care of running the background job, of initializing
* the state and cleaning up the job list after running the job.
*
* For common background job scenario, you will want to use TimedJob or QueuedJob
* instead of overwritting this method.
* instead of overwriting this method.
*
* @param IJobList $jobList The job list that manages the state of this job
* @since 25.0.0
Expand Down
24 changes: 6 additions & 18 deletions lib/public/BackgroundJob/Job.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
namespace OCP\BackgroundJob;

use OCP\AppFramework\Utility\ITimeFactory;
use OCP\ILogger;
use Psr\Log\LoggerInterface;

/**
Expand All @@ -18,32 +17,21 @@
* For the most common use cases have a look at QueuedJob and TimedJob
*
* @since 15.0.0
* @since 25.0.0 deprecated `execute()` method in favor of `start()`
* @since 33.0.0 removed deprecated `execute()` method
*/
abstract class Job implements IJob, IParallelAwareJob {
protected int $id = 0;
protected int $lastRun = 0;
protected $argument;
protected ITimeFactory $time;
protected mixed $argument = null;
protected bool $allowParallelRuns = true;

/**
* @since 15.0.0
*/
public function __construct(ITimeFactory $time) {
$this->time = $time;
}

/**
* The function to prepare the execution of the job.
*
* @return void
*
* @since 15.0.0
* @deprecated 25.0.0 Use start() instead. This method will be removed
* with the ILogger interface
*/
public function execute(IJobList $jobList, ?ILogger $logger = null) {
$this->start($jobList);
public function __construct(
protected ITimeFactory $time,
) {
}

/**
Expand Down
17 changes: 2 additions & 15 deletions lib/public/BackgroundJob/QueuedJob.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,14 @@
*/
namespace OCP\BackgroundJob;

use OCP\ILogger;

/**
* Simple base class for a one time background job
*
* @since 15.0.0
* @since 25.0.0 deprecated `execute()` method in favor of `start()`
* @since 33.0.0 removed deprecated `execute()` method
*/
abstract class QueuedJob extends Job {
/**
* Run the job, then remove it from the joblist
*
* @param IJobList $jobList
* @param ILogger|null $logger
*
* @since 15.0.0
* @deprecated 25.0.0 Use start() instead. This method will be removed
* with the ILogger interface
*/
final public function execute($jobList, ?ILogger $logger = null) {
$this->start($jobList);
}

/**
* Run the job, then remove it from the joblist
Expand Down
18 changes: 3 additions & 15 deletions lib/public/BackgroundJob/TimedJob.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
*/
namespace OCP\BackgroundJob;

use OCP\ILogger;
use OCP\Server;
use Psr\Log\LoggerInterface;

Expand All @@ -16,6 +15,8 @@
* Call setInterval with your desired interval in seconds from the constructor.
*
* @since 15.0.0
* @since 25.0.0 deprecated `execute()` method in favor of `start()`
* @since 33.0.0 removed deprecated `execute()` method
*/
abstract class TimedJob extends Job {
protected int $interval = 0;
Expand All @@ -28,7 +29,7 @@ abstract class TimedJob extends Job {
*
* @since 15.0.0
*/
public function setInterval(int $seconds) {
public function setInterval(int $seconds): void {
$this->interval = $seconds;
}

Expand Down Expand Up @@ -71,19 +72,6 @@ public function setTimeSensitivity(int $sensitivity): void {
$this->timeSensitivity = $sensitivity;
}

/**
* Run the job if the last run is more than the interval ago
*
* @param IJobList $jobList
* @param ILogger|null $logger
*
* @since 15.0.0
* @deprecated 25.0.0 Use start() instead
*/
final public function execute(IJobList $jobList, ?ILogger $logger = null) {
$this->start($jobList);
}

/**
* Run the job if the last run is more than the interval ago
*
Expand Down
Loading