我有一个 Flask 网络应用程序,它显示来自 rss 提要的信息。我想定期处理 rss 提要,例如每 30 分钟一次。提取一些信息并将其存储在 sqlite 数据库中。
但我不知道如何将功能安排到特定的时间间隔。
我使用了 APScheduler,我的代码如下:
def main():
# Start the scheduler
filename = os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..', 'tmp')) + '\\' + 'spider.log'
logging.basicConfig(filename=filename, level=logging.DEBUG,format='%(levelname)s[%(asctime)s]: %(message)s')
sched = Scheduler()
sched.start()
sched.add_interval_job(run_job, minutes=30)
time.sleep(9999)
我有一个run.py函数
from app import app, spider
spider.main()
app.run(debug=True)
app.run(debug=True)
启动 Flask Web 应用程序。问题是代码永远不会到达app.run
.
那么是否可以产生另一个进程来处理spider.main()
调用,并在后台运行该进程?还是我应该使用另一种方法?
注意:我知道我可以使用 Flask-Celery,但是对于这个小应用程序来说,这似乎太重量级了......