Fix issue with notification queue that prevented to properly close projects. Fix #1493

This commit is contained in:
grossmj committed 2019-01-12 16:02:36 +07:00
1 parent 161c05a310
commit a896346c77
4 files changed
+34 -29

No files matched your search

+8 -5
View File
@@ -17,7 +17,6 @@
import os
import aiohttp
import asyncio
from contextlib import contextmanager
from ..notification_queue import NotificationQueue
@@ -43,8 +42,10 @@ class Notification:
queue = NotificationQueue()
self._project_listeners.setdefault(project.id, set())
self._project_listeners[project.id].add(queue)
yield queue
self._project_listeners[project.id].remove(queue)
try:
yield queue
finally:
self._project_listeners[project.id].remove(queue)
@contextmanager
def controller_queue(self):
@@ -55,8 +56,10 @@ class Notification:
"""
queue = NotificationQueue()
self._controller_listeners.append(queue)
yield queue
self._controller_listeners.remove(queue)
try:
yield queue
finally:
self._controller_listeners.remove(queue)
def controller_emit(self, action, event):
"""