Speaking of the job queue, deferred updates are useful for adding jobs that depend on data that was not yet committed. This can easily be an issue since we normally wrap web requests in one DB transaction and commit at the very end. If you push() some jobs before the commit, and they get run before commit (which might randomly happen from time to time), and they depend on some of those DB changes, then the jobs might break. Using deferred updates works around this, as do the transaction callback methods in the Database classes (if you know exactly what DBs things depend on).
-- View this message in context: http://wikimedia.7.x6.nabble.com/What-are-DeferredUpdates-good-for-tp5013179... Sent from the Wikipedia Developers mailing list archive at Nabble.com.