rapidsms/rapidsms — pull request #352 by copelco (2013-04-02 16:03:27+00:00)
Title: Document proper Backend.send() error handling

We need to think about the best way for backends to handle outbound errors and how it should notify the router of one. Right now the ``CeleryRouter`` and ``DatabaseRouter`` will catch all exceptions, but ``BlockingRouter`` doesn't. In old-routing, backends use to sent a ``sent`` [attribute](https://github.com/rapidsms/rapidsms/blob/273ac0915e751a12997df7e136e16fd30dd9369b/lib/rapidsms/messages/outgoing.py#L101) and, I presume, catch all exceptions.

I like the idea of backends being able to throw exceptions and it won't kill the entire routing process, so I'm leaning towards just catching exceptions in ``BlockingRouter``.