Django 和 APScheduler 未在 IIS 服务器上运行

问题描述

我们有一个使用 IIS 服务器部署的 django 应用程序。该应用程序一直运行顺利,没有任何问题。但是,我们希望安排一个将在每晚 02:00 运行的作业。 我们正在使用 APScheduler,它在 Django 本地服务器上运行良好,但从未在生产环境中运行。 这是我用来运行作业的代码

myapp/scheduler.py

def schedule():
    scheduler = BackgroundScheduler()
    scheduler.add_job(daily_schedules,'interval',minutes=5)
    # scheduler.add_job(daily_schedules,trigger='cron',hour='2')
    scheduler.start()


def daily_schedules():
    time_Now = time.clock()
    parse_api() # my function
    # Keeping logs
    path = join(settings.FILES_DIR,'schedulled/logs.csv')
    logs = pd.read_csv(path,encoding='utf-8')
    time_end = time.clock() - time_Now
    logs.loc[len(logs)] = [
        datetime.Now().strftime('%Y-%m-%d %H:%M:%s'),time_end
        ]
    logs.to_csv(path,encoding='utf-8',index=False)
    print(logs)

myapp/apps.py

from django.apps import AppConfig

class MyAppConfig(AppConfig):
    name = 'MyApp'

    def ready(self):
        from myapp import scheduler
        scheduler.schedule()

作业没有运行有什么特别的原因吗?我是否需要做其他事情或此方法不适用于 IIS?由于服务器同时被许多开发人员使用,我想将作业作为 django 应用程序的一部分运行,而不是在单独的服务器中运行它们。

P.S:我已经阅读了关于这个问题的所有 stackoverflow 问题,但似乎没有人回答我的问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...