Please help me understand where workflow/activities are actually being executed.
- does temporal make gRRP calls to the caller of a workflow to execute activities methods on the client side?
- is the whole code of workflow executed remotely on a temporal side?
Could you refer me to the documentation where it is described?
Hi @Oleg_Strunevskiy workflows and activities are hosted and executed in your applications/machines. Workflow/activity workers (which also run on your end) are responsible for controlling the execution progress of your workflow/activity code and for communicating with the Temporal server (via grpc long-poll). This communication is needed for things like scheduling invocations of workflows/child workflows/activities, creating durable timers, as well as building and persisting your workflow execution history etc. So Temporal server does not execute your code at all, it just “guides” it and makes it possible for you to focus on your business logic in your code and let Temporal server help you handle the hard stuff like resilience and fault tolerance, persistence, scaling, transaction management, among many other usable things for you.
I would suggest in addition to docs, to watch this intro video, and especially this one which should give you a good start.
Check out this presentation as well. Animations on the last three slides show how the interactions between your Temporal applications and Temporal server work. We will be releasing the associated video very soon.
Feel free to ask any follow up questions