bodhilogic

bodhilogic

I’ve been playing with GenServer timers and what I would like to do is run a GenServer timer that, when it processes the handle_info() call, causes the web application to redirect to another page. A bonus would be for the redirect to happen only if the user has not interacted with the page since the timer started (i.e. clicking on a button or editing a field resets the timer back to time zero).

My problem is that the redirection requires the conn ‘object’ as one of the parameters but the GenServer, as far as I can see, has no way to obtain the conn ‘object’.

Is there a way to get hold of the conn ‘object’ from within the GenServer ‘processing’?

Or am I doing it completely wrong?

Thanks for taking the time to answer!

Showing Posts 1 to 1

peerreynders

peerreynders

If the user doesn’t interact with the page then there is no HTTP request.

  • No HTTP request - no redirect.

So unless you are using LiveView there isn’t anything you can do. The timer would have to be based on the client-side (i.e. the browser) and make a request when there is no activity.

With LiveView you would simply change what is currently rendered on the page after the timeout expires - but there is no redirect involved.

EDIT: I forgot about channels - i.e. you might be able to use them to have the server send a message (at timeout) to the browser and have some browser-based code take some action.

— All posts loaded —

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
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
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews