草庐IT

Flask-Migrate

全部标签

python - 如何在模板错误时跳过 Flask 缓存

我在Redis服务器上使用带有模板缓存的Flask:TIMEOUT=60*60cache=Cache(app.server,config={'CACHE_TYPE':'redis','CACHE_REDIS_HOST':"myredis",'CACHE_DEFAULT_TIMEOUT':TIMEOUT,'CACHE_REDIS_PORT':6379,})#todisablecaching#app.config["CACHE_TYPE"]="null"然后使用@cache装饰器@cache.memoize(timeout=TIMEOUT)defupdate_date():returnma

flask - 如何让 flask 将生成器传递给 celery 等任务

我有一堆代码可以在Flask中正确运行,但这些请求可能需要30多分钟才能完成。我正在使用链式生成器来使用我现有的代码和yield返回到浏览器。由于这些任务需要30分钟或更长时间才能完成,我想卸载这些任务但不知所措。我还没有成功地让celery/rabbitmq/redis或任何其他组合正常工作,我正在寻找如何完成它以便我的页面立即返回并且我可以在后台检查任务是否完成。这是目前可以使用的示例代码,但需要4秒的处理时间才能返回页面。我正在寻找有关如何解决此问题的建议,celery/redis或rabbitmq可以处理这样的生成器吗?我应该寻找不同的解决方案吗?谢谢!importtimeim

flask - 如何让 flask 将生成器传递给 celery 等任务

我有一堆代码可以在Flask中正确运行,但这些请求可能需要30多分钟才能完成。我正在使用链式生成器来使用我现有的代码和yield返回到浏览器。由于这些任务需要30分钟或更长时间才能完成,我想卸载这些任务但不知所措。我还没有成功地让celery/rabbitmq/redis或任何其他组合正常工作,我正在寻找如何完成它以便我的页面立即返回并且我可以在后台检查任务是否完成。这是目前可以使用的示例代码,但需要4秒的处理时间才能返回页面。我正在寻找有关如何解决此问题的建议,celery/redis或rabbitmq可以处理这样的生成器吗?我应该寻找不同的解决方案吗?谢谢!importtimeim

python - 使用redis和flask难以实现服务器端 session 存储

我有一个设置,其中node.js应用程序向基于flask的python服务器发出ajax请求。由于ajax请求缺少cookie数据,我无法使用简单的flasksession对象跨请求持久保存数据。为了解决这个问题,我想实现一个基于redis的session存储系统的服务器端实现,但到目前为止我找到的解决方案都不起作用。我尝试过的一个解决方案是以下this片段。但这不起作用。除了快速入门指南中提到的内容之外,我还需要做更多设置来配置redis吗?这是我的尝试:...fromflaskimportsession#Snippetcodeiscopypastedhereverbatumimpo

python - 使用redis和flask难以实现服务器端 session 存储

我有一个设置,其中node.js应用程序向基于flask的python服务器发出ajax请求。由于ajax请求缺少cookie数据,我无法使用简单的flasksession对象跨请求持久保存数据。为了解决这个问题,我想实现一个基于redis的session存储系统的服务器端实现,但到目前为止我找到的解决方案都不起作用。我尝试过的一个解决方案是以下this片段。但这不起作用。除了快速入门指南中提到的内容之外,我还需要做更多设置来配置redis吗?这是我的尝试:...fromflaskimportsession#Snippetcodeiscopypastedhereverbatumimpo

python - flask 缓存 : list keys based on a pattern?

我将FlaskCache插件与Redis一起用作后端来缓存我的API响应。假设我有这样的API来获取用户和创建用户:/api/users?page=1GET/api/usersPOSTGET结果将以完整URL作为键进行缓存。创建新用户时,我想删除所有以/api/users开头的键-目前我正在做cache.clear()但它几乎没有似乎有必要。但是,我似乎无法找到获取key列表的API。对于redis-py,有一个用于该目的的keys(*pattern)API。FlaskCache是否有类似的API? 最佳答案 Flask-Cache

python - flask 缓存 : list keys based on a pattern?

我将FlaskCache插件与Redis一起用作后端来缓存我的API响应。假设我有这样的API来获取用户和创建用户:/api/users?page=1GET/api/usersPOSTGET结果将以完整URL作为键进行缓存。创建新用户时,我想删除所有以/api/users开头的键-目前我正在做cache.clear()但它几乎没有似乎有必要。但是,我似乎无法找到获取key列表的API。对于redis-py,有一个用于该目的的keys(*pattern)API。FlaskCache是否有类似的API? 最佳答案 Flask-Cache

Flask 服务器使用 uwsgi 发送事件(SSE)

基本示例来自:https://pypi.python.org/pypi/Flask-SSEapp.py:fromflaskimportFlaskfromflask_sseimportsseapp=Flask(__name__)app.config["REDIS_URL"]="redis://localhost"app.register_blueprint(sse,url_prefix='/stream')@app.route('/send')defsend_message():sse.publish({"message":"Hello!"},type='greeting')return

Flask 服务器使用 uwsgi 发送事件(SSE)

基本示例来自:https://pypi.python.org/pypi/Flask-SSEapp.py:fromflaskimportFlaskfromflask_sseimportsseapp=Flask(__name__)app.config["REDIS_URL"]="redis://localhost"app.register_blueprint(sse,url_prefix='/stream')@app.route('/send')defsend_message():sse.publish({"message":"Hello!"},type='greeting')return

python - 当用户的 Flask session 结束时,如何从 redis 后端删除所有 Celery 结果?

这是一个高级问题,因为我可能只有一个设计不佳的Flask应用程序,但我目前构建了一个应用程序,在用户提交表单后,celeryworker将输入格式化为sql查询并执行该查询.现在我已经设置了一个Redis后端来保存结果,所以当任务完成时,我可以通过从Redis获取它来显示结果。但是,我不希望这些结果永远保留在Redis中,但我确实希望它们在应用程序中的整个用户session中保留,以便他们可以在session中查看先前查询的结果。我该怎么做呢?我的直觉是将单个任务ID添加到session中,当用户使用该应用程序时,在celery中使用forget()删除所有任务ID。