Support spec_excludes in what_changed.

Review Request #1930 - Created March 17, 2015 and submitted

David Turner
patricklaw, stuhood, tejal, zundel

Support spec_excludes in what_changed. See e.g.


  • 0
  • 0
  • 1
  • 1
Description From Last Updated
Eric Ayers
Tejal Desai
David Turner
Review request changed

Status: Closed (submitted)

Patrick Lawson


I'd prefer to see this accessed directly since it's only accessed once. Without strong motivation, I prefer to see Task subclasses not override __init__, and this is not a compelling case.

  1. I've already shipped this one, but I'll keep at in mind for the future. Can you explain your reasoning?

  2. Task.__init__ is hit during task scheduling regardless of whether or not that task will actually end up being scheduled or running code. In the past we've seen lots of issues with SomeSubTask.__init__ failing due to misconfiguration or a weird environment even if SomeSubTask is never, under any circumstances, actually run. The best way to avoid hitting such a snag is to just not override __init__, ever.

    Most of the convenience attributes frequently set in __init__ would be better as cached properties. I've been meaning to upstream a utility decorator to trivialize writing cached properties--I'll try to get that CR out today.