Skip to content

Feature idea: Render async with ActiveJob & ActionCable #111

@mnort9

Description

@mnort9

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions