首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heroku上的红星没有回应

Heroku上的红星没有回应
EN

Stack Overflow用户
提问于 2020-03-28 13:44:26
回答 2查看 179关注 0票数 1

我对Redis排队的工作任务很陌生。我试图在队列中使用Redis来添加一些功能。但是,在我把一些任务推到队列上之后,它似乎消失了。

这是我的密码

代码语言:javascript
复制
import Flask
import redis
from rq import Queue

REDIS_URL = os.getenv('REDISTOGO_URL', None)
if REDIS_URL!=None:
    r = redis.from_url(REDIS_URL)
else:
    r = redis.Redis()

q = Queue(connection=r)

def function(pam1):
    print("Checkpoint1")
    return 0

@main.route('/name', methods=['GET', 'POST'])
def displayname():
    job = q.enqueue(function, pam1=0)
    return job.id

队列上的其他信息:仍然提供作业id,如7344337b-cca0-442a-b43a- the dc88f012c。

但在heroku日志上根本没有"Checkpoint1“的迹象。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-30 13:15:15

感谢@v25。Redis之所以没有回应的真正原因是因为我没有员工。拿到清华参见Heroku关于启动工人的指南后,我的问题就解决了。

票数 0
EN

Stack Overflow用户

发布于 2020-03-28 17:02:40

我不确定Heroku的日志实现,但假设您查看了错误的日志(或其他什么),您可以尝试这样做.

与打印“检查点”相反,增加自定义redis键的值:

代码语言:javascript
复制
def function(pam1):
    r.incr('job_ran', 1)
    return 0

然后创建一个可以检查此值的路由:

代码语言:javascript
复制
@app.route('/show_count')
def show_count():
    n = r.get('job_ran')

    if n is None:
        n = 0
    else:
        n = n.decode('utf-8')

    return f'Job has run {n} times'

现在,为几个作业排队,并检查/show_count路由,以确保它相应地递增。

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

https://stackoverflow.com/questions/60901936

复制
相关文章

相似问题

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