创建了一个自定义控制台命令。我通过 python manage.py <command name> 运行它进行测试,我打印到控制台。该命令有效,但没有数据通过 websocket 发送。没有错误
class Command(BaseCommand):
def add_arguments(self, parser):
pass
def handle(self, *args, **options):
date_now = timezone.now()
# tasks = Task.objects.filter(created_date=date_now)
print ('Hello')
Group("notify").send({
"text": json.dumps({
"type": 'task',
"id": 'doer_id',
"task_id": False,
"content": False
})
},immediately=True)
后端
asgiref.inmemory.ChannelLayer仅用于开发和调试。为了在层和处理程序之间交换数据,它使用进程内存区域,但管理命令在单独的进程中运行,无法访问该内存区域。你需要pip install -U asgi_redis;并在设置中设置