Do not sort events in the event queue alphabetically
This should never have been a PriorityQueue, or at the very least it should never have the data itself in a sortable structure. Thanks to processing speed of the event queue that seldomly showed, only in cases where two events entered the queue almost simultanously, e.g. when starting to render a timelapse movie and immediately failing. Should solve #1343
This commit is contained in:
parent
1581ebbead
commit
36ec9c4741
1 changed files with 4 additions and 5 deletions
|
|
@ -107,7 +107,7 @@ class EventManager(object):
|
|||
self._registeredListeners = collections.defaultdict(list)
|
||||
self._logger = logging.getLogger(__name__)
|
||||
|
||||
self._queue = Queue.PriorityQueue()
|
||||
self._queue = Queue.Queue()
|
||||
self._worker = threading.Thread(target=self._work)
|
||||
self._worker.daemon = True
|
||||
self._worker.start()
|
||||
|
|
@ -115,7 +115,7 @@ class EventManager(object):
|
|||
def _work(self):
|
||||
try:
|
||||
while True:
|
||||
(event, payload) = self._queue.get(True)
|
||||
event, payload = self._queue.get(True)
|
||||
|
||||
eventListeners = self._registeredListeners[event]
|
||||
self._logger.debug("Firing event: %s (Payload: %r)" % (event, payload))
|
||||
|
|
@ -144,7 +144,7 @@ class EventManager(object):
|
|||
payload being a payload object specific to the event.
|
||||
"""
|
||||
|
||||
self._queue.put((event, payload), 0)
|
||||
self._queue.put((event, payload))
|
||||
|
||||
if event == Events.UPDATED_FILES and "type" in payload and payload["type"] == "printables":
|
||||
# when sending UpdatedFiles with type "printables", also send another event with deprecated type "gcode"
|
||||
|
|
@ -152,8 +152,7 @@ class EventManager(object):
|
|||
import copy
|
||||
legacy_payload = copy.deepcopy(payload)
|
||||
legacy_payload["type"] = "gcode"
|
||||
self._queue.put((event, legacy_payload), 0)
|
||||
|
||||
self._queue.put((event, legacy_payload))
|
||||
|
||||
def subscribe(self, event, callback):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Reference in a new issue