我的問題建立關閉這一個:Temporary queue made in Celery一旦檢索到相應的結果,如何刪除臨時的RabbitMQ隊列?
我的應用程序需要檢索的結果,因爲他們上傳到S3文件。但是,正在進行的臨時隊列的數量正在導致我的代理崩潰(機器沒有足夠的內存)。一旦檢索到相應的結果,我想刪除臨時隊列。在我的芹菜客戶端腳本,我通過迭代的結果的列表(其中每個結果是function.delay()):
for result in result_list:
while True:
if result.ready():
#do something with result
#I WANT TO DELETE TEMPORARY QUEUE HERE
有沒有什麼辦法可以實現上面 - 刪除臨時隊列一旦檢索結果?
我會在我的celeryconfig中使用CELERY_TASK_RESULT_EXPIRES選項,但我不知道什麼時候可以安全地清理臨時隊列,因爲可能沒有檢索到結果。無論如何,我可以刪除此腳本中的特定隊列(請注意,我從結果中獲得隊列ID)。
附加說明:
我正在運行的所有的RabbitMQ服務器與HA集羣啓用。