Valeriy

Valeriy

Connect/Disconnect from remote Repo

Hi,
my Phoenix app works with several remote PostgreSQL repos and connects to them one-by-one: connect - get data - disconnect. The code for connecting to a remote repo looks something like this:

default_dynamic_repo = Repo.get_dynamic_repo()
{:ok, repo} = Repo.start_link(start_opts)

try do
Repo.put_dynamic_repo(repo)
some_records = Repo.all(SomeRecords)
Repo.put_dynamic_repo(default_dynamic_repo)
after
Repo.put_dynamic_repo(default_dynamic_repo)
Supervisor.stop(repo)
end

After disconnect from remote db i have this errors in Postgres log (remote db):
“AUDIT: FAILURE, DISCONNECT, … lost frontend connection” x 10 times
I think the error message is repeated 10 times because repo pool_size=10 by default.

I have several questions:

  • how to disconnect from remote db correctly without errors?
  • if i have a few requests to db, can i set pool_size=1? What does it effect?
  • is it possible not to call the Supervisor.stop(repo) method and keep the connection alive until the next session? How is it better to handle connection errors in this case?

Where Next?

Popular in Questions Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

Other popular topics Top

lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31494 112
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40042 209
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement