From ef048cc5e1dde1a21806d2e22528b4b7c82df619 Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Tue, 16 Jan 2018 10:06:10 +0000 Subject: [PATCH] Task #11385: JIRA LSSS-291: use supervisor to restart service when no active session avaible on qpid broker --- .../lib/ingestjobmanagementserver.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py b/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py index 6fda2ff9e08..77b2743f010 100644 --- a/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py +++ b/LTA/LTAIngest/LTAIngestServer/LTAIngestAdminServer/lib/ingestjobmanagementserver.py @@ -759,12 +759,15 @@ class IngestJobManager: try: with self.__jobs_for_transfer_queue_peeker: num_scheduled = self.__jobs_for_transfer_queue_peeker.nr_of_messages_in_queue(0.01) - if num_scheduled <= 3: + if num_scheduled <= 1: scheduled_jads = self.getJobAdminDicts(status=JobScheduled) - return len(scheduled_jads) <= 3 + return len(scheduled_jads) <= 1 return False except Exception as e: - logger.error('canProduceNextJob: %s', e) + logger.exception('canProduceNextJob: %s', e) + if 'No active session' in str(e): + logger.fatal('cannot connect to qpid broker. bailing out...') + exit(1) # when running under supervisord, it will be restarted and the qpid connection usually works again. return True def produceNextJobsIfPossible(self): -- GitLab