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 — продумать эквивалентность на множестве ошибок. Чтоб, с одной стороны, не спамить, а с другой — не терять полезную информацию.

Date: 2016-09-02 18:07 (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
И вообще, надо в машину вселить бессмертную душу. веселую и работящую, чтобы сама читала логи, а админу докладывала только действительно важное.

Profile

yurikhan: (Default)
Yuri Khan

August 2018

S M T W T F S
   1234
567891011
12131415161718
19202122232425
26 2728293031 

Links

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated 2025-07-09 17:11
Powered by Dreamwidth Studios