草庐IT

python - 取消 Python RQ 中已经执行的任务?

我正在使用http://python-rq.org/在Herokuworkerdynos上排队和执行任务。这些是长时间运行的任务,有时我需要在执行过程中取消它们。我如何从Python中做到这一点?fromredisimportRedisfromrqimportQueuefrommy_moduleimportcount_words_at_urlq=Queue(connection=Redis())result=q.enqueue(count_words_at_url,'http://nvie.com')然后在一个单独的过程中我想做的:fromredisimportRedisfromrqi

python - 取消 Python RQ 中已经执行的任务?

我正在使用http://python-rq.org/在Herokuworkerdynos上排队和执行任务。这些是长时间运行的任务,有时我需要在执行过程中取消它们。我如何从Python中做到这一点?fromredisimportRedisfromrqimportQueuefrommy_moduleimportcount_words_at_urlq=Queue(connection=Redis())result=q.enqueue(count_words_at_url,'http://nvie.com')然后在一个单独的过程中我想做的:fromredisimportRedisfromrqi

python - 在 Heroku 上的 RQ 中处理异常处理和重新排队

我有一个用Python在Heroku上运行的网站,我有一个工作人员作为后台进程来处理我不想阻止网页传送的任务,因此不适合web测功机。为此,我使用rq设置了一个队列和Redis。在我的过程中,偶尔会出现自定义异常。对于其中的特定子集,我不想让作业直接进入“失败”队列,而是想将其重新排队几次。我一直在看exceptionhandlerspage在rq主页上,我不清楚一些事情。特别地,它描述了以下编写异常处理程序的方法:defmy_handler(job,exc_type,exc_value,traceback):#docustomthingshere#forexample,writeth

python - 在 Heroku 上的 RQ 中处理异常处理和重新排队

我有一个用Python在Heroku上运行的网站,我有一个工作人员作为后台进程来处理我不想阻止网页传送的任务,因此不适合web测功机。为此,我使用rq设置了一个队列和Redis。在我的过程中,偶尔会出现自定义异常。对于其中的特定子集,我不想让作业直接进入“失败”队列,而是想将其重新排队几次。我一直在看exceptionhandlerspage在rq主页上,我不清楚一些事情。特别地,它描述了以下编写异常处理程序的方法:defmy_handler(job,exc_type,exc_value,traceback):#docustomthingshere#forexample,writeth

python - Flask:传递后台工作(rq,redis)

我想做一件非常简单的事情:启动一个worker来做某事,然后将答案返回给用户。我正在尝试结合使用Flask和RQ来做到这一点。importosfromflaskimportFlask,sessionfromsomewhereimportdo_somethingfromrqimportQueuefromworkerimportconnapp=Flask(__name__)app.debug=Trueapp.secret_key='....'q=Queue(connection=conn)@app.route('/make/')defmake():job=q.enqueue(do_some

python - Flask:传递后台工作(rq,redis)

我想做一件非常简单的事情:启动一个worker来做某事,然后将答案返回给用户。我正在尝试结合使用Flask和RQ来做到这一点。importosfromflaskimportFlask,sessionfromsomewhereimportdo_somethingfromrqimportQueuefromworkerimportconnapp=Flask(__name__)app.debug=Trueapp.secret_key='....'q=Queue(connection=conn)@app.route('/make/')defmake():job=q.enqueue(do_some

python - Redis 队列 + python-rq : Right pattern to prevent high memory usage?

我们目前正在将Redis与我们的Heroku托管的Python应用程序一起使用。我们将Redis与python-rq纯粹用作任务队列,以提供延迟执行一些时间密集型任务。一项任务是从PostgreSQL数据库中检索一些数据并将结果写回它-因此Redis实例中根本没有保存任何有值(value)的数据。我们注意到,根据执行的作业量,Redis正在消耗越来越多的内存(增长速度约为10MB/小时)。CLI上的FLUSHDB命令修复了这个问题(将其减少到~700kB使用的RAM)直到RAM再次满。根据我们(未更改的标准)设置,作业结果保留500秒。随着时间的推移,一些作业当然会失败,它们会被移到失

python - Redis 队列 + python-rq : Right pattern to prevent high memory usage?

我们目前正在将Redis与我们的Heroku托管的Python应用程序一起使用。我们将Redis与python-rq纯粹用作任务队列,以提供延迟执行一些时间密集型任务。一项任务是从PostgreSQL数据库中检索一些数据并将结果写回它-因此Redis实例中根本没有保存任何有值(value)的数据。我们注意到,根据执行的作业量,Redis正在消耗越来越多的内存(增长速度约为10MB/小时)。CLI上的FLUSHDB命令修复了这个问题(将其减少到~700kB使用的RAM)直到RAM再次满。根据我们(未更改的标准)设置,作业结果保留500秒。随着时间的推移,一些作业当然会失败,它们会被移到失

python - RQ - 清空和删除队列

我正在使用RQ,并且我有一个包含数千个项目的failed队列,以及我不久前创建的另一个test队列用于测试,现在是空的且未使用。我想知道如何从failed队列中删除所有作业,并完全删除test队列?很抱歉这个基本问题,但我在RQdocs中找不到这方面的信息,我对这两个都是全新的Redis和RQ...提前致谢! 最佳答案 使用rq清理RQ提供了使任何队列为空的方法:>>>fromredisimportRedis>>>fromrqimportQueue>>>qfail=Queue("failed",connection=Redis())

python - RQ - 清空和删除队列

我正在使用RQ,并且我有一个包含数千个项目的failed队列,以及我不久前创建的另一个test队列用于测试,现在是空的且未使用。我想知道如何从failed队列中删除所有作业,并完全删除test队列?很抱歉这个基本问题,但我在RQdocs中找不到这方面的信息,我对这两个都是全新的Redis和RQ...提前致谢! 最佳答案 使用rq清理RQ提供了使任何队列为空的方法:>>>fromredisimportRedis>>>fromrqimportQueue>>>qfail=Queue("failed",connection=Redis())