flask 类似于 Spring ApplicationListener 的逻辑吗?

2019-10-28 22:58:21 +08:00
 monetto

如题,想在 Flask 应用启动完成后进行一些初始化逻辑,Spring 可以使用 ApplicationListener,但是 Flask 没有查到,有大佬知道的吗?

2672 次点击
所在节点    Python
6 条回复
ClericPy
2019-10-29 01:51:17 +08:00
没见过... 只知道有个第一次请求前的回调 before_app_first_request -> before_first_request_funcs. 反正 signals 里没看到
Sanic 和 starlette 那些协程库倒是可以添加 after_server_start 事件绑定...
什么任务不能初始化 App 的时候直接做好准备, 再去启动...
monetto
2019-10-29 09:01:59 +08:00
@ClericPy 比如在 Flask 应用启动前需要缓存进 Redis 一些数据,这一步骤希望在 Flask 启动完成后执行
cz5424
2019-10-29 09:06:11 +08:00
@monetto 使用工厂模式,注册蓝图之后去初始化你要的东西
ClericPy
2019-10-29 10:34:35 +08:00
@monetto 看这个意思是... flask 初始化 app 还不够, 还要启动, 并且用户发来请求之前, 那 before_app_first_request 然后自己 Requests 自己不够么, 写个能阻塞的就够了吧. 这还不行只能去 flask 源码里找钩子了... 你要的 startup event listener 我至少在 stackoverflow 和 flask 官方 Github 都没看到
monetto
2019-10-29 11:01:50 +08:00
@ClericPy 好的(#捂脸)
monetto
2019-10-29 11:02:05 +08:00
@cz5424 我看看去,3Q

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

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

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

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

© 2021 V2EX