You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Muhammad Shakhawat Hossain (Jira)" <ji...@apache.org> on 2020/12/03 13:52:00 UTC

[jira] [Updated] (CHAIN-113) Directed Acyclic Graph of command execution

     [ https://issues.apache.org/jira/browse/CHAIN-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Muhammad Shakhawat Hossain updated CHAIN-113:
---------------------------------------------
    Description: 
Hello Maintainers and contributors,

Just sharing the idea here for now. Based on the feedback, I would start working on the implementation.

In one of my projects, I need to execute some commands in parallel with some pre-requisite command dependencies. Essentially instead of executing the commands in a sequential manner, it would form a DAG (Directed Acyclic Graph) of command.

The command chain would look like below - 

start -> A -> \{B, C} -> \{E -> F, G} -> end

Currently, parallellism can be achieved through grouping commands together inside another command and then invoking them in parallel. But this is not very readable and leads to redundant wrapper classes. Every command node has to implement the logic of the dependencies.

 What would be great is to have a way of defining the commands as DAG and the framework would take care of the command execution fulfilling the dependencies.

I believe this is a very common use case in API development. Where some tasks need to be executed in sequence, some are parallelized with acyclic dependencies.

 

  was:
Hello Maintainers and contributors,

Just sharing the idea here for now. Based on the feedback, I would start working on the implementation.

In one of my projects, I need to execute some commands in parallel with some pre-requisite command dependencies. Essentially instead of executing the commands in a sequential manner, it would form a DAG (Directed Acyclic Graph) of command.

The command chain would look like below - 

start -> A -> \{B, C} -> \{E -> F, G} -> end

Currently, it can be achieved through grouping commands together inside another command and then custom parallel invocation. But what would be great is to have a way of defining the commands as DAG and the framework would take care of the command execution fulfilling the dependencies.

I believe this is a very common use case in API development. Where some tasks need to be executed in sequence, some are parallelized with acyclic dependencies.


 


> Directed Acyclic Graph of command execution
> -------------------------------------------
>
>                 Key: CHAIN-113
>                 URL: https://issues.apache.org/jira/browse/CHAIN-113
>             Project: Commons Chain
>          Issue Type: New Feature
>            Reporter: Muhammad Shakhawat Hossain
>            Priority: Major
>
> Hello Maintainers and contributors,
> Just sharing the idea here for now. Based on the feedback, I would start working on the implementation.
> In one of my projects, I need to execute some commands in parallel with some pre-requisite command dependencies. Essentially instead of executing the commands in a sequential manner, it would form a DAG (Directed Acyclic Graph) of command.
> The command chain would look like below - 
> start -> A -> \{B, C} -> \{E -> F, G} -> end
> Currently, parallellism can be achieved through grouping commands together inside another command and then invoking them in parallel. But this is not very readable and leads to redundant wrapper classes. Every command node has to implement the logic of the dependencies.
>  What would be great is to have a way of defining the commands as DAG and the framework would take care of the command execution fulfilling the dependencies.
> I believe this is a very common use case in API development. Where some tasks need to be executed in sequence, some are parallelized with acyclic dependencies.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)