~/talk

An introduction to Rejected, a Consumer Framework

Talkat RabbitMQ Summit 2021 · 2021-07-13..07-14· [python, developer-experience]
name:Gavin Roy
links:none on file
slides:none on file

Rejected is an open-source Python RabbitMQ consumer framework running in production since 2009 that centralizes reconnects, graceful shutdown, per-consumer processes (master control program), and built-in telemetry to statsd/influx/Grafana. v3 supports Python 2.7/3.5; v4 moves to Python 3.7+ and asyncio. It auto (de)serializes by AMQP type, reports to Sentry, provides testing without Rabbit, defines three exception types where a consumer exception stops process and a processing exception requeues, and includes an avro contract-based messages add-on used to publish to Kinesis Firehose → Parquet in S3.

AI-written summary · about

  1. 0:00Intro
  2. 0:42Why write a consumer framework
  3. 3:11What is Rejected
  4. 4:58Process Supervision
  5. 5:45Master Control Program
  6. 7:29Rejected Consumers
  7. 10:18Consumer Methods
  8. 11:49Message payloads
  9. 13:04Consumer exception types
  10. 14:28Consumer class attributes
  11. 15:39Error max retry
  12. 16:05Telemetry
  13. 17:58Consumer Example
  14. 19:08Consumer Test Cases
  15. 20:26AVRO Consumer
  16. 22:05AWE Consumer
  17. 23:51AWE Consumer Example
  18. 26:48Roadmap
  19. 28:55QA
  20. 30:44Message Exceptions
  21. 32:38Logging Messages
  22. 35:13Publishing frameworks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.