если в задачах очереди asyncio.Queue закрывается таск .task_done() только в случае успешного выполнения, то когда где-то в процессе вылетит исключение и до .task_done() в итоге не дойдет, то очередь забьется нафиг и все полетит к чертям?
task_done() идет в связке с get(), если не получилось обработать эту запись, то тут торг: удалить эту запись в исключении, либо держать в очереди, когда не починится скрипт
try: удали из очереди, т.к. я уже обработал except Exeption as err: удали из очереди, даже если я не обработал или ничего не удаляй, я скоро починю
У меня исключения обрабатываются в глубине (преувеличено сказано), в случае успеха возвращаются данные для записи в бд, в случае не успеха просто False
И, грубо говоря, я сейчас сделал примерно так:
def some_task(queue): ..... if result: to_db() queue.task_done()