Deploy and Run anywhere
The Colonies Server never initiates a connection to an Executor; instead, it is always the Executor’s responsibility to connect to the Colonies Server. This approach allows for the deployment of Executors behind firewalls, for example, on private networks or 5G networks.
An Executor can either connect using HTTP long polling, or using a WebSocket. HTTP long polling is a technique where an Executor makes a request to the Colonies Server, and the Colonies Server holds the request open until a process can be assigned to the Executor or a timeout occurs. Once the Executor has executed the process, it immediately opens a new request, repeating the cycle.
WebSockets provide a full-duplex communication channel over a single, long-lived connection. Once the connection is established, the Executor can communicate with the Colonies Server without any additional request/response overhead.