share(function (Application $app) { if (isset($app['phraseanet.setup_mode']) && $app['phraseanet.setup_mode']) { return new NullNotifier(); } return Notifier::create($app['monolog'], $app['task-manager.options']); }); $app['task-manager.options'] = $app->share(function (Application $app) { return array_replace([ 'protocol' => 'tcp', 'host' => '127.0.0.1', 'port' => 6660, 'linger' => 500, ], $app['conf']->get(['main', 'task-manager', 'options'], [])); }); $app['task-manager.job-factory'] = $app->share(function (Application $app) { return new JobFactory($app['dispatcher'], isset($app['task-manager.logger']) ? $app['task-manager.logger'] : $app['monolog'], $app['translator']); }); $app['task-manager.status'] = $app->share(function (Application $app) { return new TaskManagerStatus($app['conf']); }); $app['task-manager.live-information'] = $app->share(function (Application $app) { return new LiveInformation($app['task-manager.status'], $app['task-manager.notifier']); }); $app['task-manager.log-file.root'] = $app->share(function (Application $app) { return $app['log.path']; }); $app['task-manager.log-file.factory'] = $app->share(function (Application $app) { return new LogFileFactory($app['task-manager.log-file.root']); }); $app['task-manager.available-jobs'] = $app->share(function (Application $app) { $logger = isset($app['task-manager.logger']) ? $app['task-manager.logger'] : $app['monolog']; return [ (new FtpJob($app['translator'], $app['dispatcher'], $logger)) ->setDelivererLocator(new LazyLocator($app, 'notification.deliverer')) , new ArchiveJob($app['translator'], $app['dispatcher'], $logger), new IndexerJob($app['translator'], $app['dispatcher'], $logger), new BridgeJob($app['translator'], $app['dispatcher'], $logger), new FtpPullJob($app['translator'], $app['dispatcher'], $logger), new RecordMoverJob($app['translator'], $app['dispatcher'], $logger), new SubdefsJob($app['translator'], $app['dispatcher'], $logger), new WriteMetadataJob($app['translator'], $app['dispatcher'], $logger), new WebhookJob($app['translator'], $app['dispatcher'], $logger), ]; }); } public function boot(Application $app) { } }