草庐IT

python - RQ - 导入错误 : No module named XXX

我遇到了rq工作人员的问题。这是我的应用程序的结构:app/run.pyproject/__init__.pyclock.pyviews.pyworker.pycontrollers/__init__.pyleads_fb.py一旦我运行我的应用程序就会执行时钟,这是代码:fromapscheduler.schedulers.backgroundimportBackgroundSchedulerfromrqimportQueue,get_current_jobfromrq.jobimportJobfromworkerimportconnfromcontrollersimportlead

python - 在 heroku 中使用 flask-rq2 扩展

我按照本教程使用RidesQueue运行任务:https://flask-rq2.readthedocs.io/en/latest/首先app=Flask(__name__,template_folder='templates')app.config['RQ_REDIS_URL']=os.environ['REDIS_URL']然后rq=RQ(app)default_worker.work(burst=True)执行完这一行job=task.queue(arg1)我遇到过这个错误:我试图设置envvairiableFLASK_APP="app.py"我又遇到了这个错误,但是有消息Att

python - 无法在 websockets 事件的事件处理程序中修改 session 的值

我正在构建一个基于flask和pyhon的小应用程序,我的主要功能是基于websockets。我发现我无法在websockets事件的事件处理程序中修改session的值(我正在使用flask-socketio),因为flask将其session存储在客户端。因此,根据扩展作者的建议,我安装了flask-kvsession以将session存储在服务器端的基于redis的后端中。我遵循了提供的说明http://pythonhosted.org/Flask-KVSession/,但问题依然存在。所以我创建了一个小程序来向您展示我在说什么。#main.pyfromflaskimportFl

python - 在 Flask 中使用 Redis 跟踪在线用户

我正在尝试使用带有flask的Redis来跟踪我所有的在线用户。我使用Redis而不是全局字典的原因是我可以为session设置超时。否则,如果用户登录超过10分钟,我将不得不运行一个线程来定期删除用户。我按照此处的代码将Redis包含在我的flask项目中http://flask.pocoo.org/snippets/71/我在View中创建了redis对象,并在View中包含了辅助函数。但是,当我在get_online_users()中调用p.sunion(...)函数时,我得到了这个堆栈跟踪returnself.wsgi_app(environ,start_response)Fi

python - 将所有 python-rom 对象放入列表中

我正在使用Flask和Redis。我决定尝试使用romredisorm(http://pythonhosted.org/rom/)来管理一些稍微复杂的数据结构。我有一个对象列表,可以说:urls=['www.google.com','www.example.com','www.python.org']我也有rom模型:classStored_url(rom.Model):url=rom.String(required=True,unique=True,suffix=True)salt=rom.String()hash=rom.String()created_at=rom.Float(d

python - 在 GET 和 POST 之间传输随机生成的数据库 key

我在处理下面代码的POST部分时遇到问题。我得出的结论是,在从登录发送表单后,正在重新加载关键变量,并且整数更改为不再始终与逻辑匹配。但出于某种原因,如果我将riddle和dbanswer打印到终端,它总是有效。我是Python和Flask的新手,我不确定是否有办法通过重新安排代码或使用某种重定向来分别处理GET和POST来修复我的代码中的这个错误,以便修复key两者之间。@app.route("/",methods=['GET','POST'])defHomePage():key=random.randint(1,3)riddle=con.get("riddle:%i"%key)db

flask - Flask Rate Limiter 是否适用于 Elasticache (Redis 2.8)?

我的大型Web应用程序目前使用PythonFlask速率限制器。我有几个运行该应用程序的AmazonEC2实例。Flask限速器依赖于我设置的Redis实例。我正在使用Redis3.0。我有兴趣用AmazonElasticacheForRedis替换我的Redis实例.Elasticache支持Redis2.8。所以我将从Redis3.0降级。Flaskrate-limiter是否使用了Redis3.0中的任何Redis2.8中没有的功能?如果没有,我应该不会遇到任何麻烦。但是Flask限速器documentation没有说明它需要/使用什么版本的Redis。

Python-rq with flask + uwsgi + Nginx : Do I need more uwsgi processes or redis workers?

我有一台具有上述配置的服务器,我正在处理很长的任务,但我必须通过Firebase向用户更新进程状态。为了立即响应客户端,我使用python-rq在redis中排队作业。我正在使用flask、uwsgi和Nginx。在uwsgiconf文件中,有一个字段询问进程数。我的问题是,我需要启动多个uwsgi进程,还是更多的redisworker?启动更多uwsgiworker是否会创建更多redisworker?扩展如何工作,我的服务器有1个vCPU和2GB内存。我有用于生产的aws自动缩放。我应该运行更多的uWsgiworker还是只用一个队列运行多少个redisworker。我正在独立启动

python - 读取 Celery 提交的 Redis 消息

我刚刚开始在带有Redis代理和后端的Flask应用程序中使用Celery。Redis实例位于AWS上。我如何读取我的应用程序发送到redis然后由celery工作人员接收的消息?尽管我已经让它工作了——但我对实际发生的事情并不太满意。我在哪里可以阅读更多有关消息如何发布到Redis以及celery工作人员如何读取消息的信息。 最佳答案 有一个chapter在CeleryMonitoringandManagementGuide中关于Redis作为代理。您可以使用redis-cli检查队列并读取消息。或者,您可以使用Flower作为更

python - 无法让多个 uwsgi worker 与 flask-socketio 一起工作

在开发中,带有uwsgi的flask-socketio(4.1.0)仅需1个worker和标准初始化就可以很好地工作。现在我正在为生产做准备,并希望它与多个worker一起工作。我做了以下事情:在init_app中添加了redismessage_queue:socketio=SocketIO()socketio.init_app(app,async_mode='gevent_uwsgi',message_queue=app.config['SOCKETIO_MESSAGE_QUEUE'])(旁注:我们也在应用程序本身中使用了Redis)在我们使用uwsgi运行的文件顶部进行gevent