Skip to content

Workflow - periodic unique workflow with cancelation #556

@krhubert

Description

@krhubert

Hey,

I have a workflow that should be run periodically every N hour, but at the same time it can take from 30 minutes to several hours.
Also I don't want to run the same workflow more than once.
At the same time there should be an option to cancel the entire workflow at any given moment

Let me describe my usecase first and ask if there's some API that can achieve that.

I need to sync customer CRM data (salesforce, hubspot). Based on the company size the number of objects can be in range from few thousand up to several dozen millions. This is why the initial sync may take many hours but next syncs should be completed in under an hour. Also sometimes there's a need to resync the data because of different reasons.

As you can see from the example above I want to be able to run a single sync workflow for a company at given moment. If my customer decides to disable integration or change what should be synced, then I want to have the possibility to cancel any ongoing sync and start all over again. And at the last the sync should be an option to run the sync every N hours or even trigger it programmatically.

From my understanding currently workflows are just set of jobs which you can control individually (let's say cancel of of them), but I dont' see an option to control workflow.

What does the best approach know the API and limitations to handle such usecase?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions