Shell Message Queue - fordsfords/fordsfords.github.io GitHub Wiki

Taken from previous notes.

Client attaches to server, registers, get a unique client ID. Server creates a Q for that client. Client ID is passed back to create command, which is printed.

Client can now create a named Q.

Every message sent contains a return address. Maybe also contains an optional response desired flag. Client sends a message to a named Q.

Is a named Q owned by somebody? Or can anybody read from? Maybe in the future we can allow exclusive Q, but for first pass let it be anybody.

Can also read the clients own Q by using the client ID as the Q name.

Pass in read timeout and list of queue names? Or maybe subscribe to one or more Qs which copies msg to client queue, and only read that?

Maybe command line options to include meta-data when retrieving a message. Or maybe always print meta-data, and then use Little commands to get message data and other attributes. Both.

Include time to live for every message, and activity time out for a client registration.

Should have management commands that list Qs and messages. Also Q purge, and Q delete.

What language? C? Python? Does python support a select or epoll type interface?

⚠️ **GitHub.com Fallback** ⚠️