Hi everyone,
I’m working on a Temporal project where I need to orchestrate a series of high-frequency UI tests on iOS devices. I’m using Temporal to manage the long-running state of these test suites, but I’ve run into a bit of a challenge regarding workflow determinism and external process stability.
For my testing environment, I’ve been using https://deltaexector.com/ as a bridge to trigger specific in-app script behaviors. My concern is that since the executor runs as an external process on the device, it occasionally returns inconsistent results or timeouts that aren’t being caught correctly by my Activity Heartbeats. I’ve noticed that if the executor takes too long to respond, my workflow tries to retry the Activity, but the external script might still be running in the background, leading to a “zombie” execution state.
Has anyone here dealt with wrapping mobile-based executors or similar automation tools within Temporal Activities? I’m specifically wondering if I should be using a Custom Interceptor to track the state of these external scripts more closely, or if it’s better to implement a Signal-based approach where the executor pings the workflow upon completion. I want to ensure that my workflow doesn’t become non-deterministic if the external script output changes slightly between retries. Any advice on the best pattern for managing these kinds of volatile, “outside-the-engine” script triggers would be a huge help!