Skip to main content

Reusing Dispatched Workflows

All workflows dispatched to Covalent Cloud become reusable thereafter. This means neither the source code nor the original environment are necessary to rerun previous workflows with new inputs. The term “re-dispatch” is used in Covalent to describe this process.

import covalent_cloud as cc

# cc.save_api_key("your-api-key")

prev_id = "8ba8830e-3f6b-473e-add9-1e7be3dab19c"
dtch_id = cc.redispatch(prev_id)(5, 6, foo="bar")

Re-dispatching a workflow does not change the underlying structure and electron definitions. Rather, it’s a convenient and efficient way to reuse existing workflows.

Benefits of reusing workflows

  • Speed: Re-dispatching workflows does not require re-uploading any data, meaning cc.redispatch() is faster than repeating the original dispatch.
  • Efficiency: Re-dispatch is lightweight and therefore ideal for automation or CI/CD pipelines.

Applications

  • Decoupling systems: Trigger workflows based on external events or data changes without creating tight coupling between components.
  • On-demand scaling: Handle bursts of requests by dynamically launching multiple instances of a workflow.
  • Parameter Sweeps: Evaluate performance by rerunning workflows with different hyperparameters.
  • Data Exploration: Continually process new data with the same workflow pipeline.
  • Exposing workflows as service endpoints: Use a function service endpoint to trigger complex workflows from cloud functions or backend services. Scale effortlessly by launching thousands of dispatches and delegating load management to Covalent Cloud. This is ideal for launching computationally demanding workflows as services, e.g. drug discovery simulations or model training with dynamic parameters and datasets.