See also: getsentry/relay#5801 (comment)
Currently project config invalidations delete the project config from the cache, trigger the job which is supposed to compute the project config, which then in turn has a debounce.
Instead of deleting the project config we can compute the new project config, and only at the end of the computation override the project config.
This gives us some more resilience when computations start to fail and mirrors the behaviour we have implemented in Relay (failures do not invalidate the cache).
It may make sense to implement some debounce logic generically in taskbroker to facilitate this change.
See also: getsentry/relay#5801 (comment)
Currently project config invalidations delete the project config from the cache, trigger the job which is supposed to compute the project config, which then in turn has a debounce.
Instead of deleting the project config we can compute the new project config, and only at the end of the computation override the project config.
This gives us some more resilience when computations start to fail and mirrors the behaviour we have implemented in Relay (failures do not invalidate the cache).
It may make sense to implement some debounce logic generically in taskbroker to facilitate this change.