Hello Temporal Community,
We are working on temporalizing a worker management system integrated with a mobile application. Here’s the high-level workflow:
- Start Workflow: A signal from the mobile application triggers the workflow.
- Activities:
- Activity A: Executes normally.
- Activity B and Activity C: Require external signals to complete.
- Completion: The workflow ends after the successful execution of all activities.
Use Case:
This system must function in environments with poor internet connectivity. Currently, our architecture uses a local database on the mobile application to store all calls and data when offline. Once the internet is available, these are executed against the API server.
We aim to replace this monolithic approach with Temporal. The challenges we want guidance on are:
-
Handling Offline Mode: How can we ensure that signals and activities are resilient to intermittent connectivity?
-
Data Persistence: Should we maintain local storage for offline data, or can Temporal fully replace this approach?
-
Replaying Events: If a signal is sent while offline, what design patterns ensure it gets processed correctly once connectivity is restored?
-
Best Practices: For this kind of signal-driven workflow with intermittent connectivity, are there any specific Temporal features or patterns we should adopt? Is there anything like running temporal at edge?
@maxim Any suggestions or references to similar use cases would be greatly appreciated!
Thank you!