Absurd Workflows: Durable Execution with Just Postgres
Armin Ronacher разработал библиотеку Absurd — решение для создания надежных рабочих процессов, использующее только Postgres без дополнительных сервисов. В ответ на растущий спрос на устойчивое выполнение (durable execution) в эпоху AI-агентов, он создал минималистичную систему на основе единственного SQL-файла. Библиотека решает проблему сохранения состояния при сбоях, используя возможности Postgres для управления очередями и хранения чекпоинтов. Ключевая особенность — деление задач на шаги, которые автоматически восстанавливаются после перезапуска, избегая дублирования работы.
Для AI-агентов Absurd предлагает элегантный подход с автоматической нумерацией повторяющихся шагов. Пример кода демонстрирует задачу с единственным шагом "iteration", которая при повторении превращается в "iteration#2", "iteration#3" и т.д., сохраняя только новые сообщения. Система поддерживает приостановку задач, ожидание событий и автоматическую загрузку состояния из чекпоинтов. Запуск осуществляется через простую функцию absurd.spawn(), а обработка ошибок включает механизм повторов с ограничением попыток.