Tags: b3g00d/sync-engine
Tags
Improve syncback concurrency limit. Summary: There's obviously more work to be done here, but in the meantime this commit removes the global limit on the number of syncback actions that can be tried concurrently. Instead, it bounds the number of concurrent syncback greenlets for each (account_id, action_type) pair. The reason for this is that previously, if say archiving was broken for a particular account, but there were a bunch of archive actions outstanding for it, the entire syncback service could grind to a halt. Not ideal. Smaller associated changes: * Make the SyncbackWorker class just be a simple function. * Refactor to hoist sleeping-before-retrying out of the database session scope. * Remove nested database session in delete_draft. Test Plan: Run some syncback actions. Reviewers: charles Reviewed By: charles Differential Revision: https://review.inboxapp.com/D440