簡體   English   中英

[Celery]:發送多個任務時出現內存問題

[英][Celery]: Trouble with memory when send many task

我在許多機器上使用芹菜處理許多任務,但是內存有問題。 我有一個6 GB的文本ID文件,我讀取了文件並獲取ID並將其發送到另一台計算機上的任務。

 with open(source_file) as file:
    for row in file:
        row = json.loads(row)
        if row['oid']:
            app.send_task(name='test',
                          queue='test',
                          routing_key='test',
                          args=(row['oid'],))

但是麻煩是內存ram增長很快。 當我注釋send_task代碼時,內存內存是正常的。 我認為當我快速發送任務時,內存不會釋放內存。 高級英語不好

1)您可以購買更多RAM

2)您正在如此快速地將任務寫入RAM,而另一端的工作人員無法處理它們,那么您可以使用簡單的睡眠方法來降低芹菜任務發送方的速度

    if row['oid']:
        app.send_task(name='test',
                      queue='test',
                      routing_key='test',
                      args=(row['oid'],))
        import time
        time.sleep(1) # sleep one second

3)例如,您可以使用Redis僅將row[oid']保存到RAM中,而不必使用芹菜。 遠程工作人員將偵聽該數據( Pub / sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM