def process_request(self, request): if not re.search('/admin/', request.path): #check celery celery_tuple = check_tool_status(ExternalToolStatus.CELERY_TOOL_NAME) if celery_tuple[0]: if celery_tuple[1] == ExternalToolStatus.TIMEOUT_STATUS: context_dict = { 'external_tool_name': "Timeout", 'message_start': "Our database has not been updated with the status of Celery recently leading us to believe that something" } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Timeout Problem" return response elif celery_tuple[1] == ExternalToolStatus.UNKNOWN_STATUS: context_dict = { 'external_tool_name': "Unknown", 'message_start': "Something in Celery, we know not what," } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Unknown Problem" return response elif celery_tuple[1] != ExternalToolStatus.SUCCESS_STATUS: context_dict = { 'external_tool_name': "Celery", 'message_start': "Our task dispatcher" } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Celery Problem" return response #check solr solr_tuple = check_tool_status(ExternalToolStatus.SOLR_TOOL_NAME) if solr_tuple[0]: if solr_tuple[1] == ExternalToolStatus.TIMEOUT_STATUS: context_dict = { 'external_tool_name': "Timeout", 'message_start': "Our database has not been updated with the status of Solr recently leading us to believe that something" } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Timeout Problem" return response elif solr_tuple[1] == ExternalToolStatus.UNKNOWN_STATUS: context_dict = { 'external_tool_name': "Unknown", 'message_start': "Something in Solr, we know not what," } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Unknown Problem" return response elif solr_tuple[1] != ExternalToolStatus.SUCCESS_STATUS: context_dict = { 'external_tool_name': "Solr", 'message_start': "Solr" } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Solr Problem" return response #check galaxy instance(s) for workflow_engine in WorkflowEngine.objects.all(): instance = workflow_engine.instance galaxy_tuple = check_tool_status(ExternalToolStatus.GALAXY_TOOL_NAME, tool_unique_instance_identifier=instance.api_key) if galaxy_tuple[0]: if galaxy_tuple[1] == ExternalToolStatus.TIMEOUT_STATUS: context_dict = { 'external_tool_name': "Timeout", 'message_start': "Our database has not been updated with the status of Galaxy recently leading us to believe that something" } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Timeout Problem" return response elif galaxy_tuple[1] == ExternalToolStatus.UNKNOWN_STATUS: context_dict = { 'external_tool_name': "Unknown", 'message_start': "Something in Galaxy, we know not what," } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Unknown Problem" elif galaxy_tuple[1] != ExternalToolStatus.SUCCESS_STATUS: context_dict = { 'external_tool_name': "Galaxy", 'message_start': 'Our workflow manager' } response = render_to_response('external_tool_down.html', context_dict, context_instance=RequestContext( request )) response.status_code = 500 response.reason_phrase = "Galaxy Problem" return response
def dehydrate(self, bundle): bundle.data['status'] = check_tool_status(bundle.data['name'])[1] # call to method return bundle