diff --git a/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py b/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py index c5e4da373..41d6f7bd2 100644 --- a/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py +++ b/python_apps/airtime_analyzer/airtime_analyzer/message_listener.py @@ -74,6 +74,14 @@ class MessageListener: @staticmethod def msg_received_callback(channel, method_frame, header_frame, body): logging.info(" - Received '%s' on routing_key '%s'" % (body, method_frame.routing_key)) + + #Declare all variables here so they exist in the exception handlers below, no matter what. + audio_file_path = "" + #final_file_path = "" + import_directory = "" + original_filename = "" + callback_url = "" + api_key = "" # Spin up a worker process. We use the multiprocessing module and multiprocessing.Queue # to pass objects between the processes so that if the analyzer process crashes, it does not @@ -116,8 +124,9 @@ class MessageListener: # TODO: If the JSON was invalid or the web server is down, # then don't report that failure to the REST API #TODO: Catch exceptions from this HTTP request too: - StatusReporter.report_failure_to_callback_url(callback_url, api_key, import_status=2, - reason=u'An error occurred while importing this file') + if callback_url: # If we got an invalid message, there might be no callback_url in the JSON + StatusReporter.report_failure_to_callback_url(callback_url, api_key, import_status=2, + reason=u'An error occurred while importing this file') else: