● Batching logically-distinct units of code
● Batching email pipelines
● … your application?
Slide 47
Slide 47 text
No content
Slide 48
Slide 48 text
Side Notes
Slide 49
Slide 49 text
● Relationship to asyncio
○ More constrained API for users
○ Minority of our code is the scheduler, which
we originally built in python2.7 and could
largely be replaced with asyncio
Slide 50
Slide 50 text
● Adventures with making this intuitive
○ At Quora, developers with a wide variety of
backgrounds work in our Python codebase,
including designers with relatively little
coding experience.
○ Several API decisions were made to make
using this as easy or easier than priming
○ Fun story about returning from generators
Slide 51
Slide 51 text
● Migrating huge codebase to new data fetching API
○ Made heavy use of static-analysis/AST-based
auto migration scripts
○ Saved 50%+ time (including developing those
scripts) vs. an estimated manual approach