У меня есть функция, которая порождает процесс, который выполняет запрос, как так:Postgres отключается при запуске запроса внутри порожденного процесса?
def trigger_schedule(u = %User{}) do
spawn(fn ->
(Repo.preload(p, :tasks)).tasks
|> Enum.map(fn ts -> trigger_schedule(ts) end)
end)
u
end
Этот код запускается определенными действиями, и просто означало, чтобы работать в фоновом режиме. Тем не менее, когда я запускаю тесты, я начинаю видеть это:
00:37:33.324 [error] Postgrex.Protocol (#PID<0.789.0>) disconnected: ** (DBConnection.ConnectionError) owner #PID<0.1531.0> exited while client #PID<0.1533.0> is still running with: shutdown
выполняет запросы внутри spaned функции не собственно, и есть способ обойти эту ошибку? Я предполагаю, что это имеет какое-то отношение к пулу соединений PG ...