首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >烧瓶-RQ2 2如何使用作业装饰器调用函数?

烧瓶-RQ2 2如何使用作业装饰器调用函数?
EN

Stack Overflow用户
提问于 2019-10-04 00:32:24
回答 1查看 962关注 0票数 0

你好,我是Redis和Redis队列的新手,我试图使用Flask 2库来执行一个函数,但是当我将函数添加到队列中时,我的函数并没有执行,因为它包含一个可调用的函数,那么为什么我的函数没有被执行呢?

代码语言:javascript
复制
from flask import Flask
from flask_rq2 import RQ

app = Flask(__name__)
app.config['RQ_REDIS_URL'] = 'redis://127.0.0.1:6379/0'

rq = RQ(app)


@rq.job
def foo(a,b):
    print(a+b)
    return a + b;


@app.route('/')
def index():
    job = foo.queue(5,9)
    print(foo.queue(8,8))
    return 'Job queued!'



if __name__ == "__main__":
    app.run(port=5000, debug=True)

这是Redis的输出

代码语言:javascript
复制
1570238667.183464 [0 127.0.0.1:64377] "MULTI"
1570238667.183506 [0 127.0.0.1:64377] "SADD" "rq:queues" "rq:queue:default"
1570238667.183522 [0 127.0.0.1:64377] "HSET" "rq:job:db248b95-64bd-4300-b562-4781a7136e3c" "status" "queued"
1570238667.183547 [0 127.0.0.1:64377] "HMSET" "rq:job:db248b95-64bd-4300-b562-4781a7136e3c" "created_at" "2019-10-05T01:24:27.181463Z" "data" "x\x9ck`\x99*\xc3\x00\x01\x1a=<\xf1\xf1\xb9\x89\x99y\xf1\xf1zi\xf9\xf9S\xfc\xbcY\xbd9\xdb\xa6\xd4N)\x99\xa2\a\x00\xbbl\x0bp" "origin" "default" "description" "__main__.foo(5, 9)" "enqueued_at" "2019-10-05T01:24:27.182076Z" "timeout" "180" "result_ttl" "500" "status" "queued"
1570238667.183641 [0 127.0.0.1:64377] "RPUSH" "rq:queue:default" "db248b95-64bd-4300-b562-4781a7136e3c"
1570238667.183672 [0 127.0.0.1:64377] "EXEC"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-17 15:26:12

你必须真正开始一个工人来管理这些工作。

https://flask-rq2.readthedocs.io/en/latest/#get-worker

代码语言:javascript
复制
# Creates a worker that handle jobs in ``default`` queue.
default_worker = rq.get_worker()
default_worker.work(burst=True)

# Creates a worker that handle jobs in both ``simple`` and ``low`` queues.
low_n_simple_worker = rq.get_worker('low', 'simple')
low_n_simple_worker.work(burst=True)

第一个例子应该适用于您的情况。如果您有一个manage.py,您可以将它写入一个manager命令并从那里运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58228444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档