conductor
conductor copied to clipboard
Pausing all tasks for a specific task type?
I have seen, that I can pause a complete workflow within the UI.
Is there also a way to pause all tasks of a specific task type?
My use case is: A task type represents a microservice, and when I upgrade the microservice (from e.g. version 1.0 to 2.0) I want to pause all associated tasks during the upgrade.
I know I could figure out all associated workflows using the Conductor Server REST API and could then pause each single workflow using the task type, but maybe there is some more "elegant" solution to the problem?
Many thanks for your help.
@blueelephants we do plan to add ability to pause ALL the workflows of a specific type + version. That should help with your case and not have to find and pause the running workflows.
That would be a great feature - thanks. Is this feature already planned for 1.8.x? Or for a later release?
@blueelephants We will add this feature request to our backlog but in the meantime, if you wish to implement this and submit a PR for the same, we would be happy to review and merge.
@apanicker-nflx @v1r3n Hello, I'm a student at UT Austin, and I'd like to work on this issue as part of an assignment for my distributed systems class. Could you provide any guidance as to which files/sections of the codebase I will likely need to edit or where I should start looking? Thanks!
Hey @jackstenglein, that's awesome. You can start with a discussion in Github issues with a proposed solution(s).
To get started with Conductor codebase, I'd recommend running in debug mode and tracing the execution path of some of the Conductor operations, eg: starting a workflow, and then polling and updating a task. Workflow Executor is the core of most operations, which in turn relies on DeciderService. Here's another example of Workflow resource's pause endpoint, which leads to WorkflowExecutor.
Feel free to open a discussion if you need any further help!
Hi @kishorebanala, sorry for the late reply.
we do plan to add ability to pause ALL the workflows of a specific type + version
It seems like this functionality already exists, and I am confused about what work this issue requires. See the screenshot below: you can filter workflows by their type and version and then use the bulk processing functionality to pause all of them. That seems to be the functionality that this issue is looking for. Is this just an old issue that never got closed or am I misunderstanding something?
![Screen Shot 2021-05-12 at 4 05 16 PM](https://user-images.githubusercontent.com/22841845/118044339-267bf680-b33c-11eb-9f83-7bc303e99a73.png)
I think the wording in that comment is a bit misleading as the original poster is looking for a way to pause all tasks of a specific type. In the case described by OP, they are looking to temporarily pause processing of a specific task type. During this time, all RUNNING workflows which contain this task would inherently be halted until such time that the paused task type has been resumed. Hope that helps.