yurikhan: (Default)
[personal profile] yurikhan
while not done():
    task = pop(queue)
    try:
        do(task)
    except Exception as e:
        log("Cannot do %s: %s", task, e)
        # possibly sleep(5)
        # possibly push(queue, task)

Что не так на этой картинке?

Если ошибка в обработке задачи вызвана внешними условиями — интернет отвалился, сервер упал, место на диске где-то кончилось — то с большой вероятностью она будет повторяться, пока не починится.

Логи с одной и той же повторяющейся ошибкой с разными задачами читать крайне неинтересно.

Правильно — запоминать тип результата и логировать его изменение. В том числе — с ошибки на успех: «Ух ты, сервер поднялся, работаем дальше». Или так: «Помнишь того чувака с китайским IP’шником, который всё никак не мог к нам залогиниться по ssh? Так вот он таки зашёл!» 😨

Design issue — продумать эквивалентность на множестве ошибок. Чтоб, с одной стороны, не спамить, а с другой — не терять полезную информацию.

From:
Anonymous (will be screened)
OpenID (will be screened if not validated)
Identity URL: 
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

yurikhan: (Default)
Yuri Khan

June 2017

S M T W T F S
    123
45678910
1112 1314151617
18192021222324
252627282930 

Links

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2017-09-25 00:37
Powered by Dreamwidth Studios