Are Tasks handed off when running a Cluster?

Hello! We’re running a two node cluster and do rolling deploys in ECS, let’s call them Node A and Node B. When a deploy is triggered, Nodes C/D spin up and join the cluster, then Nodes A/B are destroyed.

If I were to start a Task on Node A and trigger a deploy, will that task get handed off to one of the new Nodes?

No. You would need to setup that on your own. Tasks in default implementation are always ran locally.

3 Likes

Thanks! Are there any docs you can point to for that? Or would it be more along the lines a GenServer and doing actual upgrades?

Look into Horde for distributed registry and supervision. It also mentions state handoff in the docs.
https://hexdocs.pm/horde/readme.html

Also look into Oban for job processing. It is resistent to restarts since it uses Postgres for keeping state. Here you won’t need any handoff.
https://hexdocs.pm/oban/Oban.html

2 Likes

I would also mention swarm to the distributed toolkit available.