繁体   English   中英

如何使用uwsgi + flask_apscheduler通过请求将作业添加到apscheduler

[英]How to add jobs to apscheduler via request using uwsgi + flask_apscheduler

在Flask的本地开发服务器上运行时,将添加作业并正常运行。 在uWSGI下运行时,该作业似乎已添加到作业存储中,但从未执行。 下面给出了一个具有所描述的不良行为的简单示例:

__init__.py

import flask
from datetime import datetime, timedelta
from flask_apscheduler import APScheduler

app = flask.Flask("apscheduler_test")
app.config["SCHEDULER_API_ENABLED"] = True
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()

def test_job():
    print("test job run")

@app.route("/test")
def apscheduler_test():
    print("Adding Job")
    scheduler.add_job(id="101",
                      func=test_job,
                      next_run_time=(datetime.now() + timedelta(seconds=10)))
    return "view", 200

if __name__ == '__main__':
    app.run(port=5050)

apschedule_test.ini

[uwsgi]
pidfile = /var/run/%n.pid
chdir = /opt/apscheduler
master = true
enable-threads = true
threads = 20
http-socket = :48197
logto = /var/log/%n.log
plugin = python3
module = %n
callable = app
processes = 1
uid = root
gid = root
daemonize = /var/log/apscheduler_test.log

尝试将此标志添加到您的ini文件中:

lazy-apps=true

相似的问题: uWSGI lazy-apps和ThreadPool

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM