第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何按名稱從 Celery 隊(duì)列中刪除任務(wù)

如何按名稱從 Celery 隊(duì)列中刪除任務(wù)

楊__羊羊 2023-06-27 17:31:57
我正在嘗試找到一種方法來從 Celery 隊(duì)列中刪除所有當(dāng)前排隊(duì)的具有特定給定名稱的任務(wù)。從官方文件中,我知道我可以通過查找工人的姓名然后獲取他們的 ID 來檢查工人并撤銷任務(wù),例如:def drop_celery_task(options):    def _get_tasks_id(workers: list, tasks_ids: list, task_name: str):        """        Get task ids with the given name included inside the given `workers` tasks.        {'worker1.example.com': [             {'name': 'tasks.sleeptask', 'id': '32666e9b-809c-41fa-8e93-5ae0c80afbbf',              'args': '(8,)', 'kwargs': '{}'}]        }        """        for worker in workers:            if not workers[worker]:                continue            for _task in workers[worker]:                if _task["name"].split(".")[-1] == task_name:                    tasks_ids.append(_task["id"])    task_name = options.drop_celery_task["name"]    i = Inspect(app=celery_app)  # Inspect all nodes.    registered = i.registered()    if not registered:        raise Exception("No registered tasks found")    if not any(task_name == worker.split(".")[-1] for worker in chain(*list(registered.values()))):        raise Exception(f"Task not registered: {task_name}")    tasks_ids = []    _get_tasks_id(i.active(), tasks_ids, task_name)    _get_tasks_id(i.scheduled(), tasks_ids, task_name)    _get_tasks_id(i.reserved(), tasks_ids, task_name)    if tasks_ids:        for task_id in tasks_ids:            Control(app=celery_app).revoke(task_id)    else:        logging.info(f"No active/scheduled/registered task found with the name {task_name}")但此代碼僅撤銷 celery 工作人員獲取或預(yù)取的任務(wù),而不是仍在隊(duì)列中的任務(wù)(使用 Redis 作為后端)。關(guān)于如何使用 celery 命令刪除 Redis 中的任務(wù),或阻止工作人員接受具有給定名稱的任務(wù),有什么建議嗎?
查看完整描述

1 回答

?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

我最終在 Redis 中使用我想要的名稱標(biāo)識(shí)了任務(wù)的 ID(使用 Redis 客戶端,而不是 celery 命令),然后通過命令撤銷這些 ID Control(app=celery_app).revoke(task_id)。在 Redis 中,隊(duì)列是帶有隊(duì)列名稱的鍵下的列表對(duì)象。



查看完整回答
反對(duì) 回復(fù) 2023-06-27
  • 1 回答
  • 0 關(guān)注
  • 462 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)