草庐IT

Flask-Sockets

全部标签

python - 如何使用 Celery 和 Flask 实现缓存系统

我正在使用以下方式实现在线服务器:flaskNGINXcelerycelery用途:RabbitMQ作为代理Redis作为结果后端。我想知道是否可以使用Redis作为缓存,以避免在收到相同请求时进行大量计算。例如,如果我收到包含相同正文的POST,我想回答缓存结果。如果可以,我必须在Celery或Redis中配置它吗?我应该怎么做? 最佳答案 flask生态系统中有许多现有的扩展,可以让您轻松地做到这一点。包括Flask-Redis 关于python-如何使用Celery和Flask实现

python - flask 应用程序 : trying to jsonify a dictionary

背景信息我正在尝试编写我的第一个flask/pythonRESTAPI。到目前为止,我有一个GET连接到redis数据库并尝试将字典转换为json...然后返回这些结果。问题当我尝试在我的dict对象上调用jsonify时,它失败并出现以下错误:Traceback(mostrecentcalllast):File"/usr/lib/python3.6/site-packages/flask/app.py",line1982,inwsgi_appresponse=self.full_dispatch_request()File"/usr/lib/python3.6/site-packag

python - 来自 Flask 应用程序的预定作业

我希望对计划任务流程有一个基本的了解,以及为什么Flask推荐像Celery这样的东西。我的情况是一个基于网络的工具,它根据用户输入生成电子表格。我将这些电子表格保存到临时目录,当用户单击“下载”按钮时,我使用Flask的“send_from_directory”功能将文件作为附件提供。我需要后台服务每15分钟左右运行一次,以清除所有超过15分钟的文件的临时目录。我最初的计划是一个在while(True)循环中运行的基本python脚本,但我做了一些研究以找出人们通常做的事情,并且一切都推荐Celery或其他任务管理器。我查看了Celery,发现我还需要了解redis,而且我显然需要在

python - Flask 应用程序无法在浏览器中加载

刚开始使用flask,正在尝试使用redis搭建教程微博。这是我的应用程序:fromflaskimportFlask,render_template,request,url_for,redirectimportredisfromdatetimeimportdatetimeapp=Flask(__name__)app.config.from_object(__name__)app.config.update(dict(DEBUG=True,))POOL=redis.ConnectionPool(host='localhost',port=6379,db=0)@app.route("/")

node.js - 准确跟踪#open sockets via redis

我有一个套接字服务器,想知道某个特定用户是否有一个或多个已连接的套接字。出于负载平衡和扩展的目的,不同位置可以有多个套接字服务器,因此客户端理论上可以有多个套接字连接,每个连接位于套接字服务器的不同位置/实例。在套接字连接上,我为用户递增一个Redis键,在套接字断开连接上,我递减该键。但是,如果我手动或通过forever/supervisor重新启动套接字服务器,则不会调用递减计数器,从而为该用户提供不正确的打开套接字连接数。我的问题是,可以使用当前方法并进行一些调整以在Redis中存储准确的数字,还是我应该考虑使用另一种方法?编辑:在每个套接字连接上,我使用redis客户端订阅特定

python - flask celery redis 没有返回值

正在尝试学习如何实现celery。我有一个工作示例,我做了一个redis-cli监视器,我看到它获取了值并将其返回给浏览器,但是当我将示例更改为我自己的东西时,我看到它给了我一个key,但是当我尝试查看key的结果,期望它打印“testing123”,它挂起并且redis-cli监视器显示celery任务的无尽“get”。工作...celery=make_celery(app)@celery.task(name="tasks.add")defadd(x,y):returnx+y@app.route("/test")defhello_world(x=16,y=16):x=int(requ

sockets - redis 服务器套接字在哪里创建?

一直在研究redis源码。我看到main()(在redis.c中)调用initServer(),它调用aeCreateEventLoop(),它再次调用aeApiCreate()。aeApiCreate()创建一个epoll实例。控制返回到main(),然后它监听连接。套接字和绑定(bind)系统调用在哪里调用?我没有看到为服务器创建套接字的位置。 最佳答案 在redis.c中,main()调用initServer(),initServer()调用anetUnixServer()(在anet.c中定义)。这会调用anetCreate

javascript - 服务器发送的事件不是(刷新?)正确地与 Flask 和 Redis 与 nginx 前端

我正在尝试从PBX服务器流式传输调用数据。我有一个接收此数据并将其发布到Redis中的channel的Golang后端。这个想法是在网络应用程序中获取实时通话数据。这由两个Flask应用程序组成:一个是应用程序本身。它充满了api和ajax调用。第二个只是流式传输调用数据的路由。由于截止日期,我不得不将应用程序一分为二,以解决线程化主应用程序和ajax调用的问题。为了避免CORS问题,我设置了一个nginx前端。这是我的配置:http{includemime.types;default_typeapplication/octet-stream;keepalive_timeout65;s

python - Flask/Heroku/Redis/RQ 内部服务器错误

我有一个推荐网站。一切正常,直到网站流量相当大时,推荐将花费超过30秒(Heroku的限制)和超时,并抛出500错误。我意识到对于http请求来说这是一个很长的时间。所以,我上网阅读并使用Redis实现了RQ。我让它工作,但经过一些测试后,它仍然会抛出内部服务器错误,即使请求正在通过队列。我真的只是缺乏知识,我不知道该怎么做。我想我错过了rq和redis我猜的整个想法?这是我的一些代码(如果有帮助的话),但我希望能得到更多关于如何从这里修复此错误的指导。worker.pyimportosimportredisfromrqimportWorker,Queue,Connectionlist

python - 如果 session.modified : 不是 session,如何理解 flask session 片段

当我阅读Server-sideSessionswithRedis或者flask.sessions.SecureCookieSessionInterface源代码我对这个“如果”语句感到有点困惑。如果session为None,那么代码应该尝试在下一行获取session.sid还是检查修改后的标志?defsave_session(self,app,session,response):domain=self.get_cookie_domain(app)ifnotsession:self.redis.delete(self.prefix+session.sid)ifsession.modifi