{"action":"created","issue":{"url":"https://api.github.com/repos/Tapjoy/chore/issues/25","labels_url":"https://api.github.com/repos/Tapjoy/chore/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/Tapjoy/chore/issues/25/comments","events_url":"https://api.github.com/repos/Tapjoy/chore/issues/25/events","html_url":"https://github.com/Tapjoy/chore/pull/25","id":130406978,"number":25,"title":"Allow single worker strategy to be used in conjunction with multiple consumer threads","user":{"login":"obrie","id":6991,"avatar_url":"https://avatars.githubusercontent.com/u/6991?v=3","gravatar_id":"","url":"https://api.github.com/users/obrie","html_url":"https://github.com/obrie","followers_url":"https://api.github.com/users/obrie/followers","following_url":"https://api.github.com/users/obrie/following{/other_user}","gists_url":"https://api.github.com/users/obrie/gists{/gist_id}","starred_url":"https://api.github.com/users/obrie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obrie/subscriptions","organizations_url":"https://api.github.com/users/obrie/orgs","repos_url":"https://api.github.com/users/obrie/repos","events_url":"https://api.github.com/users/obrie/events{/privacy}","received_events_url":"https://api.github.com/users/obrie/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-02-01T16:15:41Z","updated_at":"2016-02-01T18:48:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Tapjoy/chore/pulls/25","html_url":"https://github.com/Tapjoy/chore/pull/25","diff_url":"https://github.com/Tapjoy/chore/pull/25.diff","patch_url":"https://github.com/Tapjoy/chore/pull/25.patch"},"body":"This is a fix for the issue where having multiple consumer threads in conjunction with a single worker strategy can cause work to be left by the side because we don't have any locking around the worker.  This effectively imitates what's being done in the forked worker strategy.\r\n\r\nI've decided to not do any refactoring around how some of the logic here is similar to the forked worker strategy.  I think there's a larger thought here around replacing the single worker strategy with a threaded worker strategy -- and getting us to a place where that shares much of the same code as the forked worker strategy.  That's a problem for another day, though.\r\n\r\nIn the meantime this should at least resolve this particular failure with multiple consumer threads.\r\n\r\n/to @StabbyCutyou \r\n/fyi @Tapjoy/eng-group-services "},"comment":{"url":"https://api.github.com/repos/Tapjoy/chore/issues/comments/178124240","html_url":"https://github.com/Tapjoy/chore/pull/25#issuecomment-178124240","issue_url":"https://api.github.com/repos/Tapjoy/chore/issues/25","id":178124240,"user":{"login":"theo-lanman","id":7111600,"avatar_url":"https://avatars.githubusercontent.com/u/7111600?v=3","gravatar_id":"","url":"https://api.github.com/users/theo-lanman","html_url":"https://github.com/theo-lanman","followers_url":"https://api.github.com/users/theo-lanman/followers","following_url":"https://api.github.com/users/theo-lanman/following{/other_user}","gists_url":"https://api.github.com/users/theo-lanman/gists{/gist_id}","starred_url":"https://api.github.com/users/theo-lanman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theo-lanman/subscriptions","organizations_url":"https://api.github.com/users/theo-lanman/orgs","repos_url":"https://api.github.com/users/theo-lanman/repos","events_url":"https://api.github.com/users/theo-lanman/events{/privacy}","received_events_url":"https://api.github.com/users/theo-lanman/received_events","type":"User","site_admin":false},"created_at":"2016-02-01T18:48:41Z","updated_at":"2016-02-01T18:48:41Z","body":"LGTM."}}