SurfSense/surfsense_backend/app/automations
CREDO23 958bf9f95a fix(automations/agent_task): use in-memory checkpointer to avoid Celery PoolTimeout
The shared AsyncPostgresSaver caches DB connections in a module-level
pool. Cached connections are bound to the asyncio loop that opened
them, but `run_async_celery_task` discards the loop on each task's
exit — so after the first task the pool holds connections pointing
to a dead loop, and the next automation hangs 30s before failing
with `PoolTimeout: couldn't get a connection after 30.00 sec`.

Swap agent_task to `InMemorySaver`; automation runs only need state
within one Celery task, so nothing is lost. Site-local TODO tracks
the proper future fix (dispose the checkpointer pool around each
Celery task, mirroring `_dispose_shared_db_engine`).
2026-05-28 21:10:24 +02:00
..
actions fix(automations/agent_task): use in-memory checkpointer to avoid Celery PoolTimeout 2026-05-28 21:10:24 +02:00
api refactor(automations): park manual trigger pending Run-now redesign 2026-05-27 22:29:51 +02:00
dispatch fix automation run inputs, hitl routing, and detail UI polish 2026-05-28 02:48:47 +02:00
persistence refactor(automations): park manual trigger pending Run-now redesign 2026-05-27 22:29:51 +02:00
runtime feat(automations): static_inputs on triggers + vertical-slice api/services 2026-05-27 21:21:43 +02:00
schemas refactor(automations): park manual trigger pending Run-now redesign 2026-05-27 22:29:51 +02:00
services refactor(automations): park manual trigger pending Run-now redesign 2026-05-27 22:29:51 +02:00
tasks feat(automations): static_inputs on triggers + vertical-slice api/services 2026-05-27 21:21:43 +02:00
templating feat(automations): static_inputs on triggers + vertical-slice api/services 2026-05-27 21:21:43 +02:00
triggers refactor(automations): park manual trigger pending Run-now redesign 2026-05-27 22:29:51 +02:00
__init__.py chore(automation): trim docstrings to intent only 2026-05-26 23:01:22 +02:00