请教关于 flask 用 gunicorn 的时候重复写入数据库的问题

2015-06-10 12:35:40 +08:00
 thought
@app.route('/update')
def update():
    for x in range(4):
        import writedatabase as h
        b=h.pushit(1,1,1)
    return redirect(url_for('home'))

以上代码,理论上是写入数据库4条数据,但是实际操作中会写入8条之多。
gunicorn 设置是 -w 4
另外用python自带的运行程序没有问题,感觉和多进程有关。
希望大神帮忙看看如何解决。
另外请教通过网址更新数据库,或者每天自动更新数据库,有没有什么好的方法?

2636 次点击
所在节点    Python
3 条回复
kkzxak47
2015-06-13 21:31:15 +08:00
reloader=True?
之前遇到的问题是用APScheduler时,每一个任务会启动两次,后来发现是因为reloader设为True了,flask实际会启动两个进程。
thought
2015-06-13 22:03:06 +08:00
@kkzxak47 已经解决了,是浏览器多次请求造成的。
laoyuan
2015-11-04 14:38:14 +08:00
Get 要幂等 Get 要幂等 Get 要幂等

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/197461

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX