acidic_job
acidic_job copied to clipboard
Idempotent operations for Rails apps, built for ActiveJob or Sidekiq.
# v1.0 The goal of the 1.0 release is to have a stable, well-defined DSL and set of features that we are comfortable and confident to support for the foreseeable...
We need to manually check (and hopefully then write an automated test) to ensure that if a job called as an `await` job for a workflow step fails and ends...
Serializable transactions are prone to failure: https://stackoverflow.com/a/21715207/2884386 We need to build automatic retries into our code, as this failure will naturally resolve.
When working locally (or even in production), it is possible to run a job (r1), have it error and stop on some step, update the code of the job changing...
Imagine a scenario like this. We have a workflow where we need the author of a Slack message. Maybe a webhook has already processed and created our internal database representation,...
Anybody know of a Rails gem that uses HTTP 202 Accepted as a controller response for long-running jobs, queues the job, returns 202’s to requests until it processes, and when...
Imagine having a job like this: ```ruby with_acidic_workflow persisting: { } do |workflow| workflow.step :no_op, awaits: [PreprocessingJob.new] workflow.step :do_thing workflow.step :no_op, awaits: :post_process_if_necessary end ``` Currently, workflow steps with the...
In the ExceptionSerializer, we serialize and deserialize exceptions stored in Run records. Some exceptions (like the `ActionView::Template::Error`) expect the global sigil `$!` to be defined, as if the exception was...
Imagine a workflow step method that makes an API call to create a record in an external system: ```ruby def create_external_record self.external_record = ExternalClient.create(...) end ``` Now, imagine that we...