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-tp5013179p5013294.html
Sent from the Wikipedia Developers mailing list archive at Nabble.com.

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to