DavidLiu 4 месяцев назад
Родитель
Сommit
18d6a293c6
1 измененных файлов с 13 добавлено и 9 удалено
  1. 13 9
      src/core/callcenter/callback.py

+ 13 - 9
src/core/callcenter/callback.py

@@ -27,15 +27,19 @@ class Callback(object):
 
 
     def start(self):
     def start(self):
         while not self.is_stopping:
         while not self.is_stopping:
-            event, call_info, device_info = self.event_queue.get(timeout=1)
-            self.logger.info("callback::event=%s", (event.serialize('json') if event else "empty"))
-            call_type = CallType.get_by_code(call_info.call_type) if call_info else None
-            if call_type is None:
-                continue
-            if CallType.BOT_CALL == call_type:
-                self.choose_thread_pool_executor(event).submit(self.agent_event_service.bot_event_channel, event, call_info, device_info)
-            else:
-                self.choose_thread_pool_executor(event).submit(self.agent_event_service.agent_event_channel, event, call_info, device_info)
+            try:
+                event, call_info, device_info = self.event_queue.get(timeout=1)
+                self.logger.info("callback::event=%s", (event.serialize('json') if event else "empty"))
+                call_type = CallType.get_by_code(call_info.call_type) if call_info else None
+                if call_type is None:
+                    continue
+                if CallType.BOT_CALL == call_type:
+                    self.choose_thread_pool_executor(event).submit(self.agent_event_service.bot_event_channel, event, call_info, device_info)
+                else:
+                    self.choose_thread_pool_executor(event).submit(self.agent_event_service.agent_event_channel, event, call_info, device_info)
+            except:
+                pass
+
 
 
     def stop(self):
     def stop(self):
         self.is_stopping = True
         self.is_stopping = True