Open PazimGoyal opened 4 years ago
That's certainly not good. If you could provide the code for the task as well as more information about your python install/operating system, I'll go ahead and take a look at this. If you run your celery instance with the log level set to debug, does it error at all?
try: progress_recorder = WebSocketProgressRecorder(self)
processed_results = processing_data.process_data(request, progress_recorder)
return processed_results
I am using channels==2.2.0 / 2.1.2 ( testing on both) , daphne==2.5.0 redis/rabbitMQ as broker ( again testing both) , Everything runs on Docker composition. (nginx + uwsgi + daphne ) When I use Process Recorder and send http requests with task ID everything works fine but if using WebsocketProcessRecorder ,status always remain pending even if I do more then 100%.
The only possibility that I can think of as to why the success event wouldn't fire is if the websocket post-run handler hasn't been properly connected. In your INSTALLED_APPS
, can you confirm that celery_progress.websockets
is present?
when I use ProgressRecorder the progress bar updates at 100% and even the custom function is called but when I use WebsocketProgressRecorder with channels==2.2.0 and redis at reaches 100% and stays their. on further debug the status remains (in event in js) remains pending.