In the process flow modeller it is possible to create parallel processes, now I know that these are handled linearly and depth-first. But what I would like to know is, will it ever (in the near future) be possible to actually execute them in parallel. In my specific case I'm calling multiple web api's, which would benefit from parallel processing (even if the results would be processed on the main thread). Now I know parallel processing is quite complex, and would go far beyond the scope of what the average 'modeler' should know, but for my case parallel processing would have been perfect.
As a side note, I have not looked into the possibility of parallel processing in SQL, my question is purely based on my past experience with .NET (C#)
Solved
Parallel processes
Best answer by Henk Nicolai
We've done a preliminary research this month as to how asynchronous process flows could be implemented, and have not reached any definitive conclusions yet. Concurrency in particular becomes an issue - even with native C# synchronization primitives (e.g. async and lock keywords) asynchronous C# code is notoriously hard to write and debug. The SF doesn't even offer those kinds of primitives, and I'm not sure what they should be. I only know that access to shared resources such as process flow variables should be synchronized.
As an SF developer, I need to ask myself the question what will happen if a novice developer finds the 'asynchronous' checkbox and decides to check that option for all process actions because he believes that this must be good for performance. And then, once he runs into concurrency problems, how are they going to manifest themselves? Is there a risk for data corruption? And, how are we going to reproduce, analyze and resolve issues with this feature?
The good news is that we plan to move part of the process flow implementation to Indicium so we can introduce server-side process actions, and provide hooks so we can finally add multi-user workflows to the SF. After this project, I expect that asynchronous process flows become much more natural to fit in. So I remain hopeful that we can return to this feature this or next year.
View originalAs an SF developer, I need to ask myself the question what will happen if a novice developer finds the 'asynchronous' checkbox and decides to check that option for all process actions because he believes that this must be good for performance. And then, once he runs into concurrency problems, how are they going to manifest themselves? Is there a risk for data corruption? And, how are we going to reproduce, analyze and resolve issues with this feature?
The good news is that we plan to move part of the process flow implementation to Indicium so we can introduce server-side process actions, and provide hooks so we can finally add multi-user workflows to the SF. After this project, I expect that asynchronous process flows become much more natural to fit in. So I remain hopeful that we can return to this feature this or next year.
This topic has been closed for comments
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.