问题如下,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)
运行的结果如图: