关于flask中使用flask_apscheduler进行定时任务动态配置无效,必须重新加载

akeemqin 2018-11-22 08:09:43
问题如下,flask做web开发,需要配置定时任务的功能。但是每次动态配置完定时任务之后,都没有任何反应,除非我重新加载(reloading)才有效果,这是什么原因,哪里出现了问题?


具体代码如下:
#--coding:utf-8 --*--
import sys
import os
reload(sys)
sys.setdefaultencoding('utf-8')

from flask import Flask
from flask_apscheduler import APScheduler

from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore

class Config():
SCHEDULER_JOBSTORES = {
'default': SQLAlchemyJobStore(url='sqlite:///flask_aps_test.db')
}

SCHEDULER_API_ENABLED = True

JSON_AS_ASCII = False

ENSURE_ASCII = False

ENCODING = 'utf8'

DEBUG = True

THREADED = True

JSON_AS_ASCII = False

app = Flask(__name__)

app.config.from_object(Config())

scheduler = APScheduler()

scheduler.init_app(app)

scheduler.start()


def hello():

print "hello, world."

@app.route('/index')
def test_aps():
print "before,",scheduler.get_jobs()

if scheduler.get_job(id='1001'):

scheduler.remove_job(id = '1001')

else:
scheduler.add_job( id = '1001',
func = hello,
trigger = 'interval',
seconds = 5,
replace_existing = True)

print "after,",scheduler.get_jobs()

return "ok."


if __name__ == '__main__':

app.run(processes = 2)


运行的结果如图:
...全文
939 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tank_lei 2018-12-04
  • 打赏
  • 举报
回复
试试 rq这个包
akeemqin 2018-11-24
  • 打赏
  • 举报
回复
最新发现,应该是与设置了app.run(processes = 2)的进程数量有关,当我设置成为默认1的时候,是可以正常print

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧