From 0bd625dbe3b41a287443381977ee7fac3c8203f4 Mon Sep 17 00:00:00 2001 From: Aydin Salehi Date: Fri, 8 Jan 2021 21:12:26 +0330 Subject: [PATCH 1/2] Hotfix support for django_db for celery backend (specially for django_celery_results) --- celery_progress/websockets/consumers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/celery_progress/websockets/consumers.py b/celery_progress/websockets/consumers.py index 5b3dcd3..9fc06ba 100644 --- a/celery_progress/websockets/consumers.py +++ b/celery_progress/websockets/consumers.py @@ -27,11 +27,12 @@ async def receive(self, text_data): task_type = text_data_json['type'] if task_type == 'check_task_completion': + from asgiref.sync import sync_to_async await self.channel_layer.group_send( self.task_id, { 'type': 'update_task_progress', - 'data': Progress(AsyncResult(self.task_id)).get_info() + 'data': await sync_to_async(Progress(AsyncResult(self.task_id)).get_info, thread_sensitive=True)() } ) From 692473cd485ecb6905c13027ea6cccaa306b49e1 Mon Sep 17 00:00:00 2001 From: Aydin Salehi Date: Wed, 13 Jan 2021 13:14:31 +0330 Subject: [PATCH 2/2] update sync_to_async to database_sync_to_async (https://channels.readthedocs.io/en/stable/topics/databases.html) --- celery_progress/websockets/consumers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/celery_progress/websockets/consumers.py b/celery_progress/websockets/consumers.py index 9fc06ba..44845a6 100644 --- a/celery_progress/websockets/consumers.py +++ b/celery_progress/websockets/consumers.py @@ -27,12 +27,12 @@ async def receive(self, text_data): task_type = text_data_json['type'] if task_type == 'check_task_completion': - from asgiref.sync import sync_to_async + from channels.db import database_sync_to_async await self.channel_layer.group_send( self.task_id, { 'type': 'update_task_progress', - 'data': await sync_to_async(Progress(AsyncResult(self.task_id)).get_info, thread_sensitive=True)() + 'data': await database_sync_to_async(Progress(AsyncResult(self.task_id)).get_info)() } )