Я пытаюсь отправить сигнал, откуда я получил сообщение от websocket
. Сообщение Websocket приходит, но приемник никогда не получает сигнал.
Вот мой код:
plugins/__init__.py
default_app_config = 'plugins.apps.PluginsConfig'
plugins / apps.py
from django.apps import AppConfig
class PluginsConfig(AppConfig):
name = 'plugins'
def ready(self):
import plugins.signals
plugins / signal.py
plugin_install_started = Signal(providing_args=['message'])
plugin_install_error= Signal(providing_args=['message'])
@receiver(plugin_install_started, dispatch_uid='ws_plugin_install_started')
def handle_plugin_install_start(sender, message, **kwargs):
event = 'plugin_install_start'
group_name = signal_receive(event, sender) #plugin_group
print("got message from install_started")
@receiver(plugin_install_error, dispatch_uid='ws_plugin_install_error')
def handle_plugin_install_error(sender, error, **kwargs):
event = 'plugin_install_error'
group_name = signal_receive(event, sender) #plugin_group
print("got signal from install_error")
И именно здесь я пытаюсь отправить сигналы plugins / consumer.py
def receive(self, text_data):
text_data_json = json.loads(text_data)
if text_data_json["command"] == "install":
print(got message from websocket --> install)
plugin_install_started.send(sender=self, message=text_data_json)
elif text_data_json["command"] == "error":
print("got message from websocket --> error")
plugin_install_error.send(sender=self, message=text_data_json)
Когда я отправляю команду install
, я могу см. ниже
"got message from websocket --> install"
"got message from install_started"
, но при отправке error
результат команды ниже. Так что сигнал не излучается. plugin_install_error.send(sender=self, message=text_data_json)
возвращает пустой список, а plugin_install_install.send(sender=self, message=text_data_json)
возвращает объект Signal
"got message from websocket --> error"