lkuty

lkuty

Hi,

I have a Phoenix (1.4.12) umbrella project with LiveView (0.6.0). My live views needs to render floating point numbers rounded to a predefined number of decimals. That number depends on the type of value displayed. The associations between the type of values (elec power, …) and the number of decimals (0, 1, 2, 3, …) is kept in a database and is supposed to be retrieved once at the start of the system. It could be updated at a later time in the database and refreshed in the system but it is a rare event.

I have currently three umbrella applications : (1) one for database access, (2) one for the web (Phoenix) and (3) the last one to get data from remote sites, take decisions, persist data through app 1, present data through app 2, etc.

The live views get the data through a PubSub subscription made inside mount/3. Thanks to that, app 3 sends data to app 2.

The question is : how could I let my views (live or not) get the number of decimals through a map which is produced just once, for the whole web part, at startup ? Is it possible ? Or do I have to fetch them inside mount/3 each time a live view is instantiated (using app 1) which I think is costly.

TIA

Showing Posts 1 to 1

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

Seems like a good use case for :persistent_term. You could add a GenServer to your app that, on boot, hits the database, looks up the values, and then places them in :persistent_term which provides extremely fast lookups.

— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
Cxx-mlr
I’m working on a small exercise involving update_in/3, and I came up with this solution: data = %{ name: "Periodic Table", category:...
New
ChrisAmelia
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication): toke...
New
dillonoconnor
Is there any way to avoid the Hologram compiler running when using iex? It seems like the front-end code could potentially be disregarded...
New
thiagogsr
** (ArgumentError) expected :max_attempts to be a positive integer, got: {:@, [line: 10, column: 19], [{:max_attempts, [line: 10, column:...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews