python exe打包后无法执行定时任务(apscheduler框架)

问题:在代码中使用了apscheduler框架,

import tzlocal
scheduler = BackgroundScheduler(executors=executors, job_defaults=job_defaults,timezone=str(tzlocal.get_localzone()))
scheduler.add_job(go_, 'cron', hour=5, minute='30', id='Update_one')
scheduler.add_job(go_, 'cron', hour=12,minute='30', id='Update_two')
scheduler.add_job(go_, 'cron', hour=19, id='Update_three')

使用pyinstaller 打包之后,到时间了无法启动定时任务。

在此之前也遇到了PEP495的问题。

查阅了一些文章和资料

可参考下方链接:

https://github.com/agronholm/apscheduler/discussions/570

 

(回到无法启动定时任务的问题上。。)

设置cron类型的任务,在打包后,系统无法识别cron关键字,具体原因未知。(真的未知,没有搜到有用的文章和参考资料。。)

所以换模块吧,或者选择其他方式部署,不使用打包这种方式(打包后的确会出现奇奇怪怪的问题,还是云服务器部署吧。。。。最起码有个python的环境来跑代码,特殊情况下可以考虑免安装版的python)

 

def Timer():
    schedule.every().day.at("05:30").do(go_)
    schedule.every().day.at("12:30").do(go_)
    schedule.every().day.at("19:00").do(go_)
    schedule.every().day.at("16:25").do(go_)

    while True:
        schedule.run_pending()
        time.sleep(5)

Timer()

 

import schedule

然后我就选择了这个模块,打包后使用正常。

真的,不要再选择打包成exe了。。。。。。。。。

吐槽一下前领导真的很傻逼。什么服务都要搞成exe。。。。

直接flask服务不好吗,一个云服务器都搞不来,写个锤子代码。。。

posted @ 2022-09-30 16:24  黑山老道  阅读(573)  评论(0编辑  收藏  举报