ฉันมีโครงการ GAE ที่เขียนด้วย Python ฉันสร้าง cron เพื่อดำเนินการแบบแบตช์ แต่ถึงขีดจำกัดหน่วยความจำส่วนตัวแบบซอฟต์ของอินสแตนซ์ F1 ซึ่งก็คือ 124MB หลังจากทำซ้ำไม่กี่ครั้ง ใครสามารถช่วยฉันเขียนโค้ดนี้ได้อย่างมีประสิทธิภาพมากขึ้น หวังว่าภายใน 124MB len(คน) ควรน้อยกว่า 500
def cron():
q = Account.all().filter('role =', 1)
people = [e for e in q]
for p in people:
s = Schedule.available(p)
m = ScheduleMapper(s).as_dict()
memcache.set('key_for_%s' % p.key(), m)
นี่คือเซิร์ฟเวอร์ dev และฉันไม่ต้องการอัปเกรดคลาสอินสแตนซ์ของฉัน นอกจากนี้ ฉันต้องการหลีกเลี่ยงการใช้ไลบรารีของบุคคลที่สาม เช่น numpy และ pandas
ฉันเพิ่มการรวบรวมขยะในบรรทัดสุดท้ายของ for loop แต่ดูเหมือนว่าจะไม่ทำงาน
del s
m.clear()
import gc
gc.collect()