Django сигналы не излучаются - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь отправить сигнал, откуда я получил сообщение от 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...