Blog

Notes from the polling queue

What we learn running iCal ingestion against other people's calendars: the traffic that turns out to be wasted, the failures worth waiting out, and the ones that are not.

Most iCal polling is wasted work

An unchanged calendar still costs a full HTTP round trip and a parse. Conditional requests turn almost all of that traffic into a 304 — and leave only the part that is worth acting on.

  • ical
  • polling
  • architecture

When a calendar cannot be read at all

A feed larger than the body limit returns the same oversized file on every request. No retry will fix it, and that is a different problem from a poll that failed — so it gets a different webhook.

  • ical
  • webhooks
  • limits