Колба, цветок и сельдерей неправильно взаимодействуют - PullRequest
0 голосов
/ 19 апреля 2019

Я немного больше читал и изо всех сил пытался заставить что-то добавить, и подумал, что пришло время снова спросить.

Я установил цветок для наблюдения за сельдереем, и я вижу два действительно странныхвещи.

Во-первых, я вижу активные панели задач и т. д. на панели инструментов, но панели задач, брокера и монитора пусты.

Вы можете увидеть их здесь: https://imgur.com/a/9nBDINg

У меня есть сельдерей и цветок, которыми управляет supervisord, поэтому они начались так:

[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

Также я не уверен, должен ли я управлять сельдереем с supervisord. Кажется, чтоскрипт в init.d запускается и управляет собой?

Кажется, я никогда не получаю супервизора для его запуска и мониторинга, т.е. supervisorctl возвращает этот

статус супервизора

flower RUNNING pid16741, время безотказной работы 1 день, 8: 39: 08

myproject FATAL Слишком быстрое завершение (журнал процесса может h

) Вторая проблема, которую я вижу, заключается в том, что повторные попытки, похоже, происходят, но просто исчезают.Если я снова посмотрю на панель задач: https://imgur.com/Ays7Pr8

Показывает количество задач, выполненных, выполненных и повторных.Количество повторных заданий, кажется, никогда не переходит к успешному или неудачному.

Я просмотрел файлы журналов своих работников из сельдерея и вижу, что задание принимается, повторяется и затем просто исчезает.Это последнее сообщение, которое я получил от задачи:

[2019-04-16 11: 14: 22,457: INFO / ForkPoolWorker-10] Задача myproject.defer_me [86541f53-2b2c-47fc-b9f1-82a394b63ee3]retry: Retry in 4s

Вот где я выполняю повторную попытку в своем коде:

@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!"

Я полностью понимаю, если это не удается, но тот факт, что задача просто полностью исчезает без ссылки наэто снова где-нибудь в рабочем журнале.

Любая помощь с этим будет очень признательна.Поскольку я все еще привыкаю ко всему этому, я не уверен, какой важный код целесообразно публиковать, чтобы помочь отладить это, поэтому, пожалуйста, дайте мне знать, если я должен публиковать / разъяснять что-либо.Я искал это, но я просто зашел в тупик.

Заранее благодарен за любую помощь!

...