You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been experimenting with this gem (very cool!) and can't wrap my head around what background and asynchronous are meant to be used for on Operations.
Background
When background is true, ActiveJob performs the task with a background job. Otherwise it is performed "now", synchronously.
Asynchronous
I don't understand what this does and I can't tell the difference from a workflow perspective.
What I'm looking for
What I was hoping for is a way to configure a workflow, so that if a user attempts to perform an Operation in a way that will not succeed because of dependencies and conditions, that the attempt to complete the operation (say the gem's complete method) would fail. At this point I'd just return the user an error message recommending next steps.
I'd like to avoid having to duplicate these checks both in validations (activerecord) and in the workflow process. Also, the complexity of the dependency relationships is a big reason why I'm looking at rails_workflow.
Could you enlighten us?
The text was updated successfully, but these errors were encountered:
A process gets completed when all operations are completed. The engine is ready for using async - I just need to update runners (I don't have it in an open source gem but it was implemented in non-open source versions). Let's say you have order processing workflow. It processes orders and one operation starts subprocess which covers storage provisioning. Order process (parent process) doesn't care for it - it just starts it as a child process but doesn't need to wait for this child process to complete. If you mark the operation as an async - process will be able to complete having this operation still in progress. Most common usage is for subprocess operations - they start subprocesses and parent process doesn't need to wait for child process to complete of async subprocesses.
If you want to have some validations before completing operation - there are at least three ways to implement it. You can contact me in skype (maxim.madzhuga) - and I will be able to describe them and answer your questions.
I tried to implement pretty simple dependency resolution here in rails_workflow engine - let me know if something looks complex to you :)
Do you have any other questions? Some of non-opensorce realizations of an engine were modified to cover complex errors management, configuration caching, user groups/roles permission etc.
I've been experimenting with this gem (very cool!) and can't wrap my head around what background and asynchronous are meant to be used for on Operations.
Background
When background is true, ActiveJob performs the task with a background job. Otherwise it is performed "now", synchronously.
Asynchronous
I don't understand what this does and I can't tell the difference from a workflow perspective.
What I'm looking for
What I was hoping for is a way to configure a workflow, so that if a user attempts to perform an Operation in a way that will not succeed because of dependencies and conditions, that the attempt to complete the operation (say the gem's complete method) would fail. At this point I'd just return the user an error message recommending next steps.
I'd like to avoid having to duplicate these checks both in validations (activerecord) and in the workflow process. Also, the complexity of the dependency relationships is a big reason why I'm looking at rails_workflow.
Could you enlighten us?
The text was updated successfully, but these errors were encountered: