我有一個簡單的Celery任務,在數據庫中寫入一些進度數據。我需要使用django視圖來閱讀這個進度更新,以便爲用戶提供更新。使用AJAX輪詢閱讀芹菜任務進度
我用我自己的表來編寫進度,並使用客戶端的AJAX輪詢來讀取它。現在它不工作,我不知道原因。
我的數據庫後端是PostgreSQL。我試圖改變使用下面的事務隔離級別(在讀視圖):
from django.db import transaction
#4 is READ UNCOMITTED
transaction.connections.all()[0].connection.set_isolation_level(4)
我不知道這是否改變了一個新的連接到數據庫或當前事務是使用一個隔離級別,但它似乎並不奏效。在任務完成並提交事務之前,不能讀取進度數據。
這是我試過的第二種方法。
我還發現update_state,我使用update_state
編寫所有進度更新,但它似乎沒有實際寫入數據庫。我運行celerycam並配置芹菜發送具有-E參數的事件。
我想知道什麼是正確的方式來更新進度和檢索它。
謝謝你。