share(function (Application $app) { return Notifier::create($app['task-manager.listener.options']); }); $app['task-manager.listener.options'] = $app->share(function (Application $app) { if (isset($app['configuration']['task-manager']) && isset($app['configuration']['task-manager']['listener'])) { $listenerConf = $app['configuration']['task-manager']['listener']; } else { $listenerConf = []; } return array_replace([ 'protocol' => 'tcp', 'host' => '127.0.0.1', 'port' => 6660, 'linger' => 500, ], $listenerConf); }); $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['logger']); }); $app['task-manager.status'] = $app->share(function (Application $app) { return new TaskManagerStatus($app['configuration']); }); $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['root.path'].'/logs'; }); $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) { return [ new FtpJob(), new ArchiveJob(), new BridgeJob(), new FtpPullJob(), new PhraseanetIndexerJob(), new RecordMoverJob(), new SubdefsJob(), new WriteMetadataJob(), ]; }); } public function boot(Application $app) { } }