ruanwenjun opened a new issue, #10473:
URL: https://github.com/apache/dolphinscheduler/issues/10473

   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/dolphinscheduler/issues?q=is%3Aissue) and 
found no similar feature requirement.
   
   
   ### Description
   
   Right now, we use `WorkflowExecuteRunnable` to handle the workflow event and 
task event, this make this class be huge if we need to add a new event, we need 
to modify this class, it will be hard to add new event.
   
   I have an idea, we can split the workflow event and task event into 
different event queue, and use different event handler to deal with different 
event, when we handle a target event, we may need to generate new workflow/task 
event.
   <img width="1598" alt="image" 
src="https://user-images.githubusercontent.com/22415594/173989139-6b5f68db-ab59-4330-8368-38fe9958d290.png";>
   
   The advantage is that, we can split the event handle logic, and when we need 
to add a new event type, we only need to add a new event handler.
   
   There is some problem need to deal, the task/workflow's events may need to 
have order, we may still need to create event queue for each workflow, or use 
state machine to implement the order.
   
   This is just an open discussion, welcome to discuss.
   
   
   ### Use case
   
   _No response_
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to