Designing the automation system

With some understanding of how ZeroMQ and request-reply systems work, we will now design the automation system. We'll start by going over some design considerations and use cases.

Pairing one client and one server

Normally, a server deals with many clients, usually concurrently. It can do this because of the design of most servers: all state changes, like withdrawing money from a bank account, happen in something like a database. The server processes themselves are stateless. The web server translating a web request to a database call does not remember anything relevant about the transaction. Databases are designed to allow multiple readers and writers to work simultaneously on shared state.

We do not have this luxury ...

Get Practical Maya Programming with Python now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.