草庐IT

flask-rq

全部标签

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

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

Flask

Flask短小精悍,可扩展强的一个web框架。上下文管理安装:pip3installFlask,我们做web开发时,是站在两大东西之上做的web框架和wsgi,Flask和Django中都是应用的并不是自己写的。Flask中werkzurg就是。web服务网关接口,wsgi是一个协议,实现该写一个的模块:wsgiref|werkzeug,实现其协议的模块本质上就是socket服务端用于接收用户请求,并处理。一般web框架基于wsgi实现,这样实现关注点分离。flask就是基于Werkzurg搭建起来的fromwerkzeug.wrappersimportRequest,Responsefrom

python - RQ : redis. 异常。ResponseError : Command # 3 . .. 管道导致错误:使用内存时不允许 OOM 命令 > 'maxmemory'

我正在使用RQ在我的django应用程序中运行后台任务,因为它应该是完成工作的最简单方法之一。该任务包括检查某些API(如果有任何信息已更新)并将任何新信息插入我自己的数据库。直到几天前,它工作正常,但我现在遇到无法解决的错误。来自错误消息的最后几行:使用内存时不允许OOM命令>'maxmemory'我一开始以为我传递了太多数据给工作人员。但是,我最终减少了传递给具有5个键值对的单个字典的数据,但我仍然收到错误消息(请参阅底部的完整消息)。然而,直到上周,我才通​​过了20多部词典,每部词典都有更多的元素,而且工作正常。我检查了here和here,但它似乎与我的问题不同。知道我为什么会

python - RQ : redis. 异常。ResponseError : Command # 3 . .. 管道导致错误:使用内存时不允许 OOM 命令 > 'maxmemory'

我正在使用RQ在我的django应用程序中运行后台任务,因为它应该是完成工作的最简单方法之一。该任务包括检查某些API(如果有任何信息已更新)并将任何新信息插入我自己的数据库。直到几天前,它工作正常,但我现在遇到无法解决的错误。来自错误消息的最后几行:使用内存时不允许OOM命令>'maxmemory'我一开始以为我传递了太多数据给工作人员。但是,我最终减少了传递给具有5个键值对的单个字典的数据,但我仍然收到错误消息(请参阅底部的完整消息)。然而,直到上周,我才通​​过了20多部词典,每部词典都有更多的元素,而且工作正常。我检查了here和here,但它似乎与我的问题不同。知道我为什么会

python - 主力进程意外终止 RQ 和 Scrapy

我正在尝试从redis(rq)中检索一个函数,它会生成一个CrawlerProcess,但我得到了Work-horseprocesswasterminatedunexpectedly(waitpidreturned11)控制台日志:Movingjobto'failed'queue(work-horseterminatedunexpectedly;waitpidreturned11)在我标注注释的那一行THISLINEKILLTHEPROGRAM我做错了什么?我该如何解决?我从RQ中检索到的这个函数:defcustom_executor(url):process=CrawlerProce

python - 主力进程意外终止 RQ 和 Scrapy

我正在尝试从redis(rq)中检索一个函数,它会生成一个CrawlerProcess,但我得到了Work-horseprocesswasterminatedunexpectedly(waitpidreturned11)控制台日志:Movingjobto'failed'queue(work-horseterminatedunexpectedly;waitpidreturned11)在我标注注释的那一行THISLINEKILLTHEPROGRAM我做错了什么?我该如何解决?我从RQ中检索到的这个函数:defcustom_executor(url):process=CrawlerProce

ubuntu - 在 ubuntu 上运行 rq 命令

我正在尝试在ubuntu上运行命令“rqworker”来为Web应用程序运行redis队列工作进程我已经使用pip3installrq安装了rq。然而,当我尝试在终端上运行命令时,它只是告诉我rq:commandnotfound。有人知道如何在ubuntu17.10上安装rq命令吗??提前致谢 最佳答案 已修复,似乎是因为我使用没有sudo的pip安装了rq。我希望为遇到困难的任何其他人保留此记录:如果您在linux上使用pip安装某些东西但不使用sudo,您将无法在bash上使用它。安装它并能够在bash上使用它的正确方法是pip

ubuntu - 在 ubuntu 上运行 rq 命令

我正在尝试在ubuntu上运行命令“rqworker”来为Web应用程序运行redis队列工作进程我已经使用pip3installrq安装了rq。然而,当我尝试在终端上运行命令时,它只是告诉我rq:commandnotfound。有人知道如何在ubuntu17.10上安装rq命令吗??提前致谢 最佳答案 已修复,似乎是因为我使用没有sudo的pip安装了rq。我希望为遇到困难的任何其他人保留此记录:如果您在linux上使用pip安装某些东西但不使用sudo,您将无法在bash上使用它。安装它并能够在bash上使用它的正确方法是pip

Python/rq - 如何将信息从调用者传递给工作人员?

我想使用rq在单独的worker上运行任务以从测量仪器收集数据。用户按下dash应用程序上的按钮将发出任务结束信号。问题在于任务本身不知道何时终止,因为它无权访问dash应用程序的上下文。我已经使用meta将信息从工作人员传递回调用者,但我可以将信息从调用者传递给工作人员吗?示例任务:fromrqimportget_current_jobfromtimeimporttimedefmock_measurement():job=get_current_job()t_start=time()#Runthemeasurementt=[]i=[]job.meta['should_stop']=F

Python/rq - 如何将信息从调用者传递给工作人员?

我想使用rq在单独的worker上运行任务以从测量仪器收集数据。用户按下dash应用程序上的按钮将发出任务结束信号。问题在于任务本身不知道何时终止,因为它无权访问dash应用程序的上下文。我已经使用meta将信息从工作人员传递回调用者,但我可以将信息从调用者传递给工作人员吗?示例任务:fromrqimportget_current_jobfromtimeimporttimedefmock_measurement():job=get_current_job()t_start=time()#Runthemeasurementt=[]i=[]job.meta['should_stop']=F