- Scribe has a single listener, with multiple clients sending it data (multiple Tabs unicorns, etc)
- If Scribe goes down temporarily, messages should queue on the client and be delivered when it comes back.
- If Scribe is down for a long time, the client should throw away messages rather than exhausting its RAM.
- If Scribe is down and the client terminates, it shouldn't wait around forever trying to deliver messages.
In the code below, pub.rb goes in the Scribe client gem and gets installed in Tabs, etc, with a similar thing in Deejay. The sub.rb piece is part of Scribe.