烧瓶,花朵和芹菜相互作用不正确

时间:2019-04-19 02:06:33

标签: flask celery flower

我一直在努力阅读更多内容,以期获得一些额外的东西,并认为是时候再次提出要求了。

我已经架起花来监控芹菜,我看到了两件事,很奇怪。

首先,我可以在仪表板上看到正在执行的任务等,但是我的任务,代理和监视面板为空。

您可以在这里看到它:https://imgur.com/a/9nBDINg

我的芹菜和鲜花由主管监督,所以他们的工作是这样的:

[program:myproject]

command=sudo /etc/init.d/celeryd start

directory=/home/ian/myproject


stdout_logfile=/var/log/celeryd/celerydstdout.log

stderr_logfile=/var/log/celeryd/celerydstderr.log

user=***

password=*****

autostart=true

autorestart=true

startsecs=10

stopwaitsecs=600


[program:flower]

directory=/home/ian/myproject

command =flower -A myproject --broker_api=http://localhost:15672/api --broker=pyamqp://

stdout_logfile=/var/log/flower/flowerstdout.log

stderr_logfile=/var/log/flower/flowerstderr.log

autostart=true

autorestart=true

我也不确定是否应该在有监督者的情况下管理芹菜,看来init.d中的脚本会启动并自行管理?

我似乎从来没有让主管启动和监视它,即,supervisorctl返回了此

主管状态

flower RUNNING pid 16741,正常运行时间1天,8:39:08

myproject FATAL退出速度太快(进程日志可能会

我看到的第二个问题是重试似乎发生了,但只是消失了。如果我再次查看任务面板:https://imgur.com/Ays7Pr8

它显示已处理,成功和重试的任务数量。重试的任务数量似乎从未成功或失败。

我查看了芹菜工人的日志文件,可以看到任务被接受,重试然后消失了。这是我从任务中收到的最后一条消息:

[2019-04-16 11:14:22,457:INFO / ForkPoolWorker-10]任务myproject.defer_me [86541f53-2b2c-47fc-b9f1-82a394b63ee3]重试:4秒后重试

这是我在代码中实现重试的地方:

@app1.task(bind=True,max_retries=10)

def defer_me(self,pp, identity, incr, datum):

try:

attempt_task(pp, identity, incr, datum)

except Exception:

raise self.retry(countdown=2 **self.request.retries)


def putting():

pp = 0

global datum

incr = 0

if request.method == 'PUT':

# read in the data and determine the total length

identity = request.stream.read()

pp = len(identity)

# defer the request to process after the response is returned to the client

dbtask = defer_me.apply_async(args=[pp,identity,incr,datum])

print(dbtask)

taskres = AsyncResult("dbtask")

return "Data has been inserted!"

我完全理解它是否失败,但是事实上任务完全消失了,而工人日志中的任何地方都没有引用它。

任何帮助,我们将不胜感激。由于我仍在使用所有这些内容,因此不确定发布什么重要的代码明智以帮助调试此功能,所以请告诉我是否应该发布/阐明任何内容。我一直在搜索这些东西,但是我已经死胡同了。

在此先感谢您的帮助!

0 个答案:

没有答案