为什么python脚本在手动运行时工作得很好,但在通过任务调度运行时抛出MemoryError?

为什么python脚本在手动运行时工作得很好,但在通过任务调度运行时抛出MemoryError?,python,out-of-memory,taskscheduler,Python,Out Of Memory,Taskscheduler,我有一个python脚本,当我通过命令行或编辑器运行它时,它运行起来没有任何问题。然而,一旦我通过任务调度器将其设置为自动运行,我的日志中就会出现内存错误 这是错误消息: MemoryError: Unable to allocate 2.03 MiB for an array with shape (10252, 52) and data type object 任何可能出错的建议都将不胜感激 谢谢 我没有直接解决我的问题,但我仍然有一个可能对某些人有用的解决方案 最后,我放弃了任务计划,而

我有一个python脚本,当我通过命令行或编辑器运行它时,它运行起来没有任何问题。然而,一旦我通过任务调度器将其设置为自动运行,我的日志中就会出现内存错误

这是错误消息:

MemoryError: Unable to allocate 2.03 MiB for an array with shape (10252, 52) and data type object
任何可能出错的建议都将不胜感激

谢谢


我没有直接解决我的问题,但我仍然有一个可能对某些人有用的解决方案

最后,我放弃了任务计划,而是创建了一个新的Python脚本,在特定时间运行我的所有Python脚本。这个图书馆叫做时间表

import schedule
from MODULE_1 import FUNCTION_1  
from MODULE_2 import FUNCTION_2 

schedule.every().monday.at(13:20).do(FUNCTION_1)
schedule.every().monday.at(20:10).do(FUNCTION_2) 

while True:
    try:
        schedule.run_pending()
    except Exception as f: 
        e = datetime.datetime.now()
        print(e.strftime("%Y-%m-%d %H:%M:%S"))
        print("ERROR TYPE:")
        print(f) 
    time.sleep(1)

你设定了1秒或2秒的时间吗?睡觉?我会试试的。谢谢你能详细说明一下为什么暂停脚本一两秒钟可以解决问题吗@CYREX@CYREX如果我理解正确,您发送给我的线程描述了time.sleep()实际导致内存泄漏的情况。我不知道它如何能防止它们。知道吗?根据错误消息,您必须处理线程和时间。睡眠,因为启动整个作业会导致内存泄漏或根本没有内存。因此,您必须为每个线程读取1000行,一旦第一个线程完成读取1000行,它将被休眠或进程终止,然后第二个线程开始执行该任务,依此类推。这就是我的意思。