[英][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.