diff options
Diffstat (limited to 'lib/Cron')
-rw-r--r-- | lib/Cron/Updater.php | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/lib/Cron/Updater.php b/lib/Cron/Updater.php index 5caa2223e..6d8fea832 100644 --- a/lib/Cron/Updater.php +++ b/lib/Cron/Updater.php @@ -5,34 +5,46 @@ * This file is licensed under the Affero General Public License version 3 or * later. See the COPYING file. * - * @author Alessandro Cosentino <cosenal@gmail.com> * @author Bernhard Posselt <dev@bernhard-posselt.com> - * @copyright Alessandro Cosentino 2012 * @copyright Bernhard Posselt 2012, 2014 */ namespace OCA\News\Cron; -use OCA\News\AppInfo\Application; +use OC\BackgroundJob\Job; + use OCA\News\Config\Config; use OCA\News\Service\StatusService; use OCA\News\Utility\Updater as UpdaterService; -class Updater { +class Updater extends Job { - public static function run() { - $app = new Application(); + /** + * @var Config + */ + private $config; + /** + * @var StatusService + */ + private $status; + /** + * @var UpdaterService + */ + private $updaterService; - $container = $app->getContainer(); + public function __construct(Config $config, StatusService $status, + UpdaterService $updaterService) { + $this->config = $config; + $this->status = $status; + $this->updaterService = $updaterService; + } - // make it possible to turn off cron updates if you use an external - // script to execute updates in parallel - $useCronUpdates = $container->query(Config::class)->getUseCronUpdates(); - $isProperlyConfigured = $container->query(StatusService::class)->isProperlyConfigured(); - if ($useCronUpdates && $isProperlyConfigured) { - $container->query(UpdaterService::class)->update(); - $container->query(UpdaterService::class)->beforeUpdate(); - $container->query(UpdaterService::class)->afterUpdate(); + protected function run($argument) { + if ($this->config->getUseCronUpdates() && + $this->status->isProperlyConfigured()) { + $this->updaterService->update(); + $this->updaterService->beforeUpdate(); + $this->updaterService->afterUpdate(); } } |