-
Notifications
You must be signed in to change notification settings - Fork 2
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
RPA Runtime v1.0 rework #11
Comments
Scripts can take vastly different amount of time to finish. We need to allow defining Script timeout on a per-script basis, rather than a generic timeout for the Job. Since we only get the Script after Job activation, we can't set the Timeout in the usual way, e.g. with the topic subscription. To allow Scripts to define their own Timeouts, we can use https://docs.camunda.io/docs/apis-tools/camunda-api-rest/specifications/update-a-job/ See the sketch below on what requests need to happen between zeebe and the worker to facilitate this. |
To consider (mentioned here):
|
I investigated Document handling capabilities today. Summary
Problems we need to solveHow do we reference documents in RPA?
How do we create new documents
For simplicity, let's allow writing to a top-level variable only (e.g. How do we update documentsAs far as I could find, you can not update documents with the API. So the lifecycle would be to upload a new document and changing the existing variable to the new reference. Technical considerationsDo we want to handle document upload in the Robot script or the Java worker?
|
My suggestion is to go with Explicit. Implicit seems more complex to implement and bring some "magic" to that can lead to all kind of corner cases bugs (what happens when the file is updated, removed or renamed?). Explicit allow us to make a simpler and stronger solution. Since there's a mapping for the documents, we can easily extend it in the future to cover advanced document handling cases (versioning, TTL). It also forces the user to be more conscious when considering referencing files. |
For separation of concern, I also believe that document handling should be placed in the Java Worker.
|
How would that work for the user? Let's provide an example. |
Scenario: Process takes customer data from an XLS file and updates it in legacy ERP system.
|
Great example! What is missing for me is the mechanism how
I'd like to bring another option into play:
The beauty of the last approach is two-fold:
Connectors explicitly model "operations on documents", i.e. creating links, too. Curious what you think! |
Extending the Syntax beyond Keywords will be difficult, as @Poundex brought up another Idea to make Variable handling more explicit. In this example,
I like this approach, as we
|
I think file actions should be explicit (in the Robot Script) and be fulfilled JIT by the script execution, not in advance by either scraping the script/diagram or requiring the user to provide (and manually maintain) manifests of files that will be used within the script.
Because the keyword implementation has downloaded the script, then library keywords (such as |
Thanks folks for chiming in. I like the direction that I see, too, as it checks the boxes I'd love a solution to check. ⭐ |
Syntactic suggar for that could be
|
Rewrite the python worker implementation with a Java implementation. This allows us to easier integrate it with other Camunda components and spin them up together, e.g. camunda run.
Camunda
RPA Library for setting Variables and Document handlingThe text was updated successfully, but these errors were encountered: