Spawn Distributed Image Processing

November 9, 2022 ยท View on GitHub

Example of distributed image processing..

This example was inspired by that talk https://youtu.be/RkMzCQm-Ws4

Run

MIX_ENV=dev PROXY_CLUSTER_STRATEGY=epmd PROXY_DATABASE_TYPE=mysql  PROXY_DATABASE_POOL_SIZE=10 SPAWN_STATESTORE_KEY=3Jnb0hZiHIzHTOih7t2cTEPEpY98Tu1wvQkPfq/XwqE= iex --name spawn_a@127.0.0.1 -S mix

NOTE: This example uses the MySQL database as persistent storage for its actors. And it is also expected that you have previously created a database called eigr-functions-db in the MySQL instance. For more information see Spawn documentation here

Now in iex console call Orchestrator Actor:

SpawnDistributedImageProcessing.push_work("priv/images/actor-mesh.png")

If you want to go up one more node just do:

MIX_ENV=dev PROXY_CLUSTER_STRATEGY=epmd PROXY_DATABASE_TYPE=mysql SPAWN_STATESTORE_KEY=3Jnb0hZiHIzHTOih7t2cTEPEpY98Tu1wvQkPfq/XwqE= iex --name spawn_a1@127.0.0.1 -S mix