This PR introduces several optimizations and improvements to enhance the performance and reliability of Elsa Workflows:
Optimized Workflow Dispatching: Modifies the workflow inbox service to first identify all relevant workflow instances before dispatching execution requests. This change ensures that "dispatch workflow" messages are only sent when applicable, significantly reducing unnecessary message traffic.
Enhanced Message Handling: Ensures workflow inputs are stored with the workflow instance prior to dispatching messages to the queue. This approach prevents potential message rejection due to input mismatches at the service bus level.
Robust JSON Serialization: Improves the custom JSON serializer to handle TargetTypeExceptions more effectively. This enhancement prevents errors during deserialization when the target type is not suitable.
Streamlined Application Startup: Reduces redundancy in the workflow startup process by indexing workflow triggers only once after all workflows are populated, thereby improving the startup time.
These changes aim to streamline workflow processing, reduce overhead, and improve overall system stability.
This PR introduces several optimizations and improvements to enhance the performance and reliability of Elsa Workflows:
Optimized Workflow Dispatching: Modifies the workflow inbox service to first identify all relevant workflow instances before dispatching execution requests. This change ensures that "dispatch workflow" messages are only sent when applicable, significantly reducing unnecessary message traffic.
Enhanced Message Handling: Ensures workflow inputs are stored with the workflow instance prior to dispatching messages to the queue. This approach prevents potential message rejection due to input mismatches at the service bus level.
Robust JSON Serialization: Improves the custom JSON serializer to handle
TargetTypeExceptions
more effectively. This enhancement prevents errors during deserialization when the target type is not suitable.Streamlined Application Startup: Reduces redundancy in the workflow startup process by indexing workflow triggers only once after all workflows are populated, thereby improving the startup time.
These changes aim to streamline workflow processing, reduce overhead, and improve overall system stability.
Fixes #5241