-
Notifications
You must be signed in to change notification settings - Fork 517
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Operators: SequentialAnd and SequentialOr #565
Comments
@douglasgalico , your requirement appears very similar to performance mode settings in RulesEngine/src/RulesEngine/Models/ReSettings.cs Lines 80 to 94 in 9bcf4f3
Can you check this and let me know if this is what you are looking for? |
@abbasc52 Thanks for the reply. I could say that's "almost" besides the fact the What you think about it? I can help implementing it at RuleCompiler and their tests too :) |
@douglasgalico interesting idea would like to understand more on where you would need to selectively use it vs whole workflow execution. I do understand one use case where for some workflow you may want performance mode vs for other normal mode. Currently we only support it at RulesEngine instance level, We can look at workflow level settings but for Rule level, it will help if you can share examples where it makes sense |
@abbasc52 I believe that's from use-case to use case, I currently use it extensively and having some complex workflows (with multiple rules and sub-rules) I've stepped many times in a situation where having a SequentialAnd/Or would be great for a specific block. If we believe is something achievable and that will contribute to the product, then I can try to formalize a PR with the changes plus samples on it. What you think? |
In many complex scenarios, the order in which rules are evaluated significantly impacts the performance and outcome. Current operators like "And" and "Or" do not provide enough control for scenarios where the evaluation needs to be strictly sequential or stopped early based on certain conditions. "SequentialAnd" and "SequentialOr" are designed to address these limitations, offering more precise control and efficiency.
SequentialAnd:
Example:
SequentialOr:
Example:
Implementation Considerations:
I invite the community and maintainers to discuss this proposal, the potential impacts, and any additional considerations or improvements. Any insight and feedback is more than appreciated.
Thank you for considering this enhancement. I look forward to your input and collaboration!
The text was updated successfully, but these errors were encountered: