GitHub PullRequestReviewCommentEvent at 2014-10-14 17:47:57
Repository: metafora
Actor: schmichael
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/lytics/metafora/pulls/comments/18845427","id":18845427,"diff_hunk":"@@ -14,9 +14,13 @@ type Coordinator interface {\n \tInit(CoordinatorContext)\n \n \t// Watch should do a blocking watch on the broker and return a task ID that\n-\t// can be claimed. Watch must return (\"\", nil) when Close is called.\n+\t// can be claimed. Watch must return (\"\", nil) when Close or Freeze are\n+\t// called.\n \tWatch() (taskID string, err error)\n \n+\t// Freeze cancels pending watches, causing Watch to return (\"\", nil).\n+\tFreeze()","path":"coordinator.go","position":10,"original_position":10,"commit_id":"5366f184e6d71e21a8fff524bd1bcadb9d6d7f6f","original_commit_id":"637b88d52fb8bcb4ec349383a5d9c0445689057a","user":{"login":"schmichael","id":113362,"avatar_url":"https://avatars.githubusercontent.com/u/113362?v=2","gravatar_id":"","url":"https://api.github.com/users/schmichael","html_url":"https://github.com/schmichael","followers_url":"https://api.github.com/users/schmichael/followers","following_url":"https://api.github.com/users/schmichael/following{/other_user}","gists_url":"https://api.github.com/users/schmichael/gists{/gist_id}","starred_url":"https://api.github.com/users/schmichael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmichael/subscriptions","organizations_url":"https://api.github.com/users/schmichael/orgs","repos_url":"https://api.github.com/users/schmichael/repos","events_url":"https://api.github.com/users/schmichael/events{/privacy}","received_events_url":"https://api.github.com/users/schmichael/received_events","type":"User","site_admin":false},"body":"Hm, that's a good idea. ``freeze`` could just be a state on the Consumer that instructs it to ignore the next value returned by ``coord.Watch()`` and don't call ``Watch`` again until ``unfreeze`` is received.\r\n\r\nThe only downside I can see here is that the coordinator will probably have a stale task waiting to hand the consumer when the consumer unfreezes... but that stale task will probably have been claimed by another node, so it will just be ignored. Seems like a tiny bit of likely wasted work for a much simpler implementation!\r\n\r\nWorking on it...","created_at":"2014-10-14T17:47:57Z","updated_at":"2014-10-14T17:47:57Z","html_url":"https://github.com/lytics/metafora/pull/46#discussion_r18845427","pull_request_url":"https://api.github.com/repos/lytics/metafora/pulls/46","_links":{"self":{"href":"https://api.github.com/repos/lytics/metafora/pulls/comments/18845427"},"html":{"href":"https://github.com/lytics/metafora/pull/46#discussion_r18845427"},"pull_request":{"href":"https://api.github.com/repos/lytics/metafora/pulls/46"}}},"pull_request":{"url":"https://api.github.com/repos/lytics/metafora/pulls/46","id":22660272,"html_url":"https://github.com/lytics/metafora/pull/46","diff_url":"https://github.com/lytics/metafora/pull/46.diff","patch_url":"https://github.com/lytics/metafora/pull/46.patch","issue_url":"https://api.github.com/repos/lytics/metafora/issues/46","number":46,"state":"open","locked":false,"title":"Commands","user":{"login":"schmichael","id":113362,"avatar_url":"https://avatars.githubusercontent.com/u/113362?v=2","gravatar_id":"","url":"https://api.github.com/users/schmichael","html_url":"https://github.com/schmichael","followers_url":"https://api.github.com/users/schmichael/followers","following_url":"https://api.github.com/users/schmichael/following{/other_user}","gists_url":"https://api.github.com/users/schmichael/gists{/gist_id}","starred_url":"https://api.github.com/users/schmichael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmichael/subscriptions","organizations_url":"https://api.github.com/users/schmichael/orgs","repos_url":"https://api.github.com/users/schmichael/repos","events_url":"https://api.github.com/users/schmichael/events{/privacy}","received_events_url":"https://api.github.com/users/schmichael/received_events","type":"User","site_admin":false},"body":"Fixes #42 \r\n\r\nI still need to add more Command+Consumer specific tests, but this has so many changes in it I'd prefer to merge this ASAP.","created_at":"2014-10-13T17:33:57Z","updated_at":"2014-10-14T17:47:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"81f7714f4805b3f2eb8d9ed55d5d17566c5f2ff0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/lytics/metafora/pulls/46/commits","review_comments_url":"https://api.github.com/repos/lytics/metafora/pulls/46/comments","review_comment_url":"https://api.github.com/repos/lytics/metafora/pulls/comments/{number}","comments_url":"https://api.github.com/repos/lytics/metafora/issues/46/comments","statuses_url":"https://api.github.com/repos/lytics/metafora/statuses/5366f184e6d71e21a8fff524bd1bcadb9d6d7f6f","head":{"label":"lytics:commands","ref":"commands","sha":"5366f184e6d71e21a8fff524bd1bcadb9d6d7f6f","user":{"login":"lytics","id":1951824,"avatar_url":"https://avatars.githubusercontent.com/u/1951824?v=2","gravatar_id":"","url":"https://api.github.com/users/lytics","html_url":"https://github.com/lytics","followers_url":"https://api.github.com/users/lytics/followers","following_url":"https://api.github.com/users/lytics/following{/other_user}","gists_url":"https://api.github.com/users/lytics/gists{/gist_id}","starred_url":"https://api.github.com/users/lytics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lytics/subscriptions","organizations_url":"https://api.github.com/users/lytics/orgs","repos_url":"https://api.github.com/users/lytics/repos","events_url":"https://api.github.com/users/lytics/events{/privacy}","received_events_url":"https://api.github.com/users/lytics/received_events","type":"Organization","site_admin":false},"repo":{"id":24692885,"name":"metafora","full_name":"lytics/metafora","owner":{"login":"lytics","id":1951824,"avatar_url":"https://avatars.githubusercontent.com/u/1951824?v=2","gravatar_id":"","url":"https://api.github.com/users/lytics","html_url":"https://github.com/lytics","followers_url":"https://api.github.com/users/lytics/followers","following_url":"https://api.github.com/users/lytics/following{/other_user}","gists_url":"https://api.github.com/users/lytics/gists{/gist_id}","starred_url":"https://api.github.com/users/lytics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lytics/subscriptions","organizations_url":"https://api.github.com/users/lytics/orgs","repos_url":"https://api.github.com/users/lytics/repos","events_url":"https://api.github.com/users/lytics/events{/privacy}","received_events_url":"https://api.github.com/users/lytics/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lytics/metafora","description":"Ordasity inspired distributed task runner.","fork":false,"url":"https://api.github.com/repos/lytics/metafora","forks_url":"https://api.github.com/repos/lytics/metafora/forks","keys_url":"https://api.github.com/repos/lytics/metafora/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lytics/metafora/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lytics/metafora/teams","hooks_url":"https://api.github.com/repos/lytics/metafora/hooks","issue_events_url":"https://api.github.com/repos/lytics/metafora/issues/events{/number}","events_url":"https://api.github.com/repos/lytics/metafora/events","assignees_url":"https://api.github.com/repos/lytics/metafora/assignees{/user}","branches_url":"https://api.github.com/repos/lytics/metafora/branches{/branch}","tags_url":"https://api.github.com/repos/lytics/metafora/tags","blobs_url":"https://api.github.com/repos/lytics/metafora/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lytics/metafora/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lytics/metafora/git/refs{/sha}","trees_url":"https://api.github.com/repos/lytics/metafora/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lytics/metafora/statuses/{sha}","languages_url":"https://api.github.com/repos/lytics/metafora/languages","stargazers_url":"https://api.github.com/repos/lytics/metafora/stargazers","contributors_url":"https://api.github.com/repos/lytics/metafora/contributors","subscribers_url":"https://api.github.com/repos/lytics/metafora/subscribers","subscription_url":"https://api.github.com/repos/lytics/metafora/subscription","commits_url":"https://api.github.com/repos/lytics/metafora/commits{/sha}","git_commits_url":"https://api.github.com/repos/lytics/metafora/git/commits{/sha}","comments_url":"https://api.github.com/repos/lytics/metafora/comments{/number}","issue_comment_url":"https://api.github.com/repos/lytics/metafora/issues/comments/{number}","contents_url":"https://api.github.com/repos/lytics/metafora/contents/{+path}","compare_url":"https://api.github.com/repos/lytics/metafora/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lytics/metafora/merges","archive_url":"https://api.github.com/repos/lytics/metafora/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lytics/metafora/downloads","issues_url":"https://api.github.com/repos/lytics/metafora/issues{/number}","pulls_url":"https://api.github.com/repos/lytics/metafora/pulls{/number}","milestones_url":"https://api.github.com/repos/lytics/metafora/milestones{/number}","notifications_url":"https://api.github.com/repos/lytics/metafora/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lytics/metafora/labels{/name}","releases_url":"https://api.github.com/repos/lytics/metafora/releases{/id}","created_at":"2014-10-01T19:48:52Z","updated_at":"2014-10-13T23:03:18Z","pushed_at":"2014-10-14T01:05:48Z","git_url":"git://github.com/lytics/metafora.git","ssh_url":"git@github.com:lytics/metafora.git","clone_url":"https://github.com/lytics/metafora.git","svn_url":"https://github.com/lytics/metafora","homepage":"https://godoc.org/github.com/lytics/metafora","size":784,"stargazers_count":5,"watchers_count":5,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":18,"forks":1,"open_issues":18,"watchers":5,"default_branch":"master"}},"base":{"label":"lytics:master","ref":"master","sha":"0fae9a1b3f78cb55238a6a50a006fcdd06dea8bf","user":{"login":"lytics","id":1951824,"avatar_url":"https://avatars.githubusercontent.com/u/1951824?v=2","gravatar_id":"","url":"https://api.github.com/users/lytics","html_url":"https://github.com/lytics","followers_url":"https://api.github.com/users/lytics/followers","following_url":"https://api.github.com/users/lytics/following{/other_user}","gists_url":"https://api.github.com/users/lytics/gists{/gist_id}","starred_url":"https://api.github.com/users/lytics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lytics/subscriptions","organizations_url":"https://api.github.com/users/lytics/orgs","repos_url":"https://api.github.com/users/lytics/repos","events_url":"https://api.github.com/users/lytics/events{/privacy}","received_events_url":"https://api.github.com/users/lytics/received_events","type":"Organization","site_admin":false},"repo":{"id":24692885,"name":"metafora","full_name":"lytics/metafora","owner":{"login":"lytics","id":1951824,"avatar_url":"https://avatars.githubusercontent.com/u/1951824?v=2","gravatar_id":"","url":"https://api.github.com/users/lytics","html_url":"https://github.com/lytics","followers_url":"https://api.github.com/users/lytics/followers","following_url":"https://api.github.com/users/lytics/following{/other_user}","gists_url":"https://api.github.com/users/lytics/gists{/gist_id}","starred_url":"https://api.github.com/users/lytics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lytics/subscriptions","organizations_url":"https://api.github.com/users/lytics/orgs","repos_url":"https://api.github.com/users/lytics/repos","events_url":"https://api.github.com/users/lytics/events{/privacy}","received_events_url":"https://api.github.com/users/lytics/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lytics/metafora","description":"Ordasity inspired distributed task runner.","fork":false,"url":"https://api.github.com/repos/lytics/metafora","forks_url":"https://api.github.com/repos/lytics/metafora/forks","keys_url":"https://api.github.com/repos/lytics/metafora/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lytics/metafora/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lytics/metafora/teams","hooks_url":"https://api.github.com/repos/lytics/metafora/hooks","issue_events_url":"https://api.github.com/repos/lytics/metafora/issues/events{/number}","events_url":"https://api.github.com/repos/lytics/metafora/events","assignees_url":"https://api.github.com/repos/lytics/metafora/assignees{/user}","branches_url":"https://api.github.com/repos/lytics/metafora/branches{/branch}","tags_url":"https://api.github.com/repos/lytics/metafora/tags","blobs_url":"https://api.github.com/repos/lytics/metafora/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lytics/metafora/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lytics/metafora/git/refs{/sha}","trees_url":"https://api.github.com/repos/lytics/metafora/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lytics/metafora/statuses/{sha}","languages_url":"https://api.github.com/repos/lytics/metafora/languages","stargazers_url":"https://api.github.com/repos/lytics/metafora/stargazers","contributors_url":"https://api.github.com/repos/lytics/metafora/contributors","subscribers_url":"https://api.github.com/repos/lytics/metafora/subscribers","subscription_url":"https://api.github.com/repos/lytics/metafora/subscription","commits_url":"https://api.github.com/repos/lytics/metafora/commits{/sha}","git_commits_url":"https://api.github.com/repos/lytics/metafora/git/commits{/sha}","comments_url":"https://api.github.com/repos/lytics/metafora/comments{/number}","issue_comment_url":"https://api.github.com/repos/lytics/metafora/issues/comments/{number}","contents_url":"https://api.github.com/repos/lytics/metafora/contents/{+path}","compare_url":"https://api.github.com/repos/lytics/metafora/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lytics/metafora/merges","archive_url":"https://api.github.com/repos/lytics/metafora/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lytics/metafora/downloads","issues_url":"https://api.github.com/repos/lytics/metafora/issues{/number}","pulls_url":"https://api.github.com/repos/lytics/metafora/pulls{/number}","milestones_url":"https://api.github.com/repos/lytics/metafora/milestones{/number}","notifications_url":"https://api.github.com/repos/lytics/metafora/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lytics/metafora/labels{/name}","releases_url":"https://api.github.com/repos/lytics/metafora/releases{/id}","created_at":"2014-10-01T19:48:52Z","updated_at":"2014-10-13T23:03:18Z","pushed_at":"2014-10-14T01:05:48Z","git_url":"git://github.com/lytics/metafora.git","ssh_url":"git@github.com:lytics/metafora.git","clone_url":"https://github.com/lytics/metafora.git","svn_url":"https://github.com/lytics/metafora","homepage":"https://godoc.org/github.com/lytics/metafora","size":784,"stargazers_count":5,"watchers_count":5,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":18,"forks":1,"open_issues":18,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lytics/metafora/pulls/46"},"html":{"href":"https://github.com/lytics/metafora/pull/46"},"issue":{"href":"https://api.github.com/repos/lytics/metafora/issues/46"},"comments":{"href":"https://api.github.com/repos/lytics/metafora/issues/46/comments"},"review_comments":{"href":"https://api.github.com/repos/lytics/metafora/pulls/46/comments"},"review_comment":{"href":"https://api.github.com/repos/lytics/metafora/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/lytics/metafora/pulls/46/commits"},"statuses":{"href":"https://api.github.com/repos/lytics/metafora/statuses/5366f184e6d71e21a8fff524bd1bcadb9d6d7f6f"}}}}