[HN Gopher] Elixir: Practical Concurrency Cookbook
___________________________________________________________________
Elixir: Practical Concurrency Cookbook
Author : akbarnama
Score : 89 points
Date : 2021-07-24 05:31 UTC (1 days ago)
(HTM) web link (functional.works-hub.com)
(TXT) w3m dump (functional.works-hub.com)
| atonse wrote:
| Regarding caching, after years of not using any, we finally ended
| up using nebulex (with the in-memory cache) and it's been
| excellent.
|
| The ability to add cache annotations to functions feels really
| clean.
|
| There's also the ability to have cluster wide state but we
| haven't set that up yet. We will soon.
| conradfr wrote:
| Nebulex seems interesting, I may be tempted to replace cachex
| with it.
|
| It also seems a clean way to fill the lack of integrated cache
| solution in ecto.
| tylerpachal wrote:
| In addition to what the offer recommended in the "Scheduling
| work" section, using the `:timer.send_interval()` can be useful
| if you want to do something every X seconds, instead of every X +
| Y seconds, where Y is the time it takes to process the "work"
| message.
|
| Also I prefer to use `handle_continue` instead of
| `schedule_work()` style (which in a lot of cases pre-date the
| introduction of `handle_continue`).
| manusachi wrote:
| > One of the strengths of GenServers is that they allow us to
| spin one up per user very easily, so they don't become a
| bottleneck where the Agent does.
|
| Agent is a special case of GenServer[1]. With the same luck we
| could spin up an agent per user.
|
| [1] [Agent.start_link/2](https://github.com/elixir-
| lang/elixir/blob/9137fd1cb2368bb1b...)
| sandwichinvest wrote:
| Having reliable scheduling in the language itself seems like it
| would simplify a ton of software that's currently reliant on a
| lot of message queueing and cron duct tape. Running BEAM in
| production still scares me, but that's one reason to conquer the
| fear.
| hmmokidk wrote:
| You may have done it already through RabbitMQ.
|
| Also I want to comment that it is awesome and I love it. It's
| simple and effective. OTP being bundled into the language is
| really very brilliant.
| mattbaker wrote:
| I'm always curious to learn about things that make people
| cautious to run the BEAM in production. What makes it scary for
| you?
___________________________________________________________________
(page generated 2021-07-25 23:01 UTC)