Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature idea: Render async with ActiveJob & ActionCable #111

Open
mnort9 opened this issue Apr 7, 2020 · 2 comments
Open

Feature idea: Render async with ActiveJob & ActionCable #111

mnort9 opened this issue Apr 7, 2020 · 2 comments

Comments

@mnort9
Copy link

mnort9 commented Apr 7, 2020

Rendering with ActiveJob & ActionCable would allow for long performing background jobs to push view content when finished.

Rough Flow:

  1. Render async called in view, which also creates ActionCable client subscription
  2. Controller action immediately queues background job for processing
  3. When job completes, content is broadcasted to client
  4. Client inserts content into page from the subscription success callback

Use Case:
We have some long running queries in our admin interface around reporting. Since this is internal, it's not that big of a deal that a response takes 10 seconds, especially since it's only used a few times a day. We'd rather focus dev optimization effort on the customer facing part of the application.

However, this request can cause timeouts for the rest of the application, especially if requests are simultaneous. Pushing the processing to the background and rendering when ready would allow it be truly non-blocking for other requests.

@mnort9 mnort9 changed the title Feature idea: Render async with ActionJob & ActionCable Feature idea: Render async with ActiveJob & ActionCable Apr 7, 2020
@nikolalsvk
Copy link
Collaborator

Hey, @mnort9! Thanks for submitting an issue, the idea sounds great. I was thinking of this some time ago myself but never wound up drafting a PR.

Let me know if this is something you'd like to participate in, I'd be more than glad to help!

Also, if others are interested in seeing this feature, react with 👍

@feliperaul
Copy link

This would be awesome, and it could use the new StimulusReflex

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants