{"action":"created","comment":{"url":"https://api.github.com/repos/diaspora/diaspora/pulls/comments/36261034","id":36261034,"diff_hunk":"@@ -305,12 +305,20 @@\n   add_index \"photos\", [\"status_message_guid\"], name: \"index_photos_on_status_message_guid\", length: {\"status_message_guid\"=>191}, using: :btree\n \n   create_table \"pods\", force: :cascade do |t|\n-    t.string   \"host\",       limit: 255\n+    t.string   \"host\",          limit: 255\n     t.boolean  \"ssl\"\n-    t.datetime \"created_at\",             null: false\n-    t.datetime \"updated_at\",             null: false\n+    t.datetime \"created_at\",                                                null: false\n+    t.datetime \"updated_at\",                                                null: false","path":"db/schema.rb","position":36,"original_position":19,"commit_id":"08b6695396a40a228ee13436b6fcbb0c440677e2","original_commit_id":"244659c7c00f088892f54f2ebf8fa9f5bfe24115","user":{"login":"diaspora-code-review","id":13334186,"avatar_url":"https://avatars.githubusercontent.com/u/13334186?v=3","gravatar_id":"","url":"https://api.github.com/users/diaspora-code-review","html_url":"https://github.com/diaspora-code-review","followers_url":"https://api.github.com/users/diaspora-code-review/followers","following_url":"https://api.github.com/users/diaspora-code-review/following{/other_user}","gists_url":"https://api.github.com/users/diaspora-code-review/gists{/gist_id}","starred_url":"https://api.github.com/users/diaspora-code-review/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diaspora-code-review/subscriptions","organizations_url":"https://api.github.com/users/diaspora-code-review/orgs","repos_url":"https://api.github.com/users/diaspora-code-review/repos","events_url":"https://api.github.com/users/diaspora-code-review/events{/privacy}","received_events_url":"https://api.github.com/users/diaspora-code-review/received_events","type":"User","site_admin":false},"body":"Line is too long. [87/80]","created_at":"2015-08-05T01:11:35Z","updated_at":"2015-08-05T01:11:35Z","html_url":"https://github.com/diaspora/diaspora/pull/6290#discussion_r36261034","pull_request_url":"https://api.github.com/repos/diaspora/diaspora/pulls/6290","_links":{"self":{"href":"https://api.github.com/repos/diaspora/diaspora/pulls/comments/36261034"},"html":{"href":"https://github.com/diaspora/diaspora/pull/6290#discussion_r36261034"},"pull_request":{"href":"https://api.github.com/repos/diaspora/diaspora/pulls/6290"}}},"pull_request":{"url":"https://api.github.com/repos/diaspora/diaspora/pulls/6290","id":41491181,"html_url":"https://github.com/diaspora/diaspora/pull/6290","diff_url":"https://github.com/diaspora/diaspora/pull/6290.diff","patch_url":"https://github.com/diaspora/diaspora/pull/6290.patch","issue_url":"https://api.github.com/repos/diaspora/diaspora/issues/6290","number":6290,"state":"open","locked":false,"title":"[WIP] test pods for connectivity","user":{"login":"Raven24","id":117366,"avatar_url":"https://avatars.githubusercontent.com/u/117366?v=3","gravatar_id":"","url":"https://api.github.com/users/Raven24","html_url":"https://github.com/Raven24","followers_url":"https://api.github.com/users/Raven24/followers","following_url":"https://api.github.com/users/Raven24/following{/other_user}","gists_url":"https://api.github.com/users/Raven24/gists{/gist_id}","starred_url":"https://api.github.com/users/Raven24/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Raven24/subscriptions","organizations_url":"https://api.github.com/users/Raven24/orgs","repos_url":"https://api.github.com/users/Raven24/repos","events_url":"https://api.github.com/users/Raven24/events{/privacy}","received_events_url":"https://api.github.com/users/Raven24/received_events","type":"User","site_admin":false},"body":"please start your reviews :)\r\n\r\nI'll be beginning this PR with the basic functionality to check if remote pods are reachable,\r\nthe next step will be a page in the admin backend to list the pods and show their statuses, as well as some manual interaction.\r\n\r\nMy idea was for `Pod.check_next_batch!` to run in regular intervals either via Sidetiq or a cronjob/rake task. You can also run `pod.test_connection!` on a single pod as part of the http worker before we try to send out our federation messages, or, as part of the admin backend. \r\nThere is some rudimentary \"rate control\" for pods that just recently have been determined to be unreachable - they could have an intermittent downtime. Once they are offline for more than 8 hours though, they are practically scheduled to be checked at the back of the queue.\r\n\r\nI'm not 100% sure we should completely decide whether or not to send federation messages based on these measurements, but I guess if `offline_since` exceeds a certain timespan, that should be a strong indicator.","created_at":"2015-08-03T17:40:50Z","updated_at":"2015-08-05T01:11:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fccea428b1505285ac4cebc7b12e9525824bc399","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/diaspora/diaspora/pulls/6290/commits","review_comments_url":"https://api.github.com/repos/diaspora/diaspora/pulls/6290/comments","review_comment_url":"https://api.github.com/repos/diaspora/diaspora/pulls/comments{/number}","comments_url":"https://api.github.com/repos/diaspora/diaspora/issues/6290/comments","statuses_url":"https://api.github.com/repos/diaspora/diaspora/statuses/08b6695396a40a228ee13436b6fcbb0c440677e2","head":{"label":"Raven24:pod_test","ref":"pod_test","sha":"08b6695396a40a228ee13436b6fcbb0c440677e2","user":{"login":"Raven24","id":117366,"avatar_url":"https://avatars.githubusercontent.com/u/117366?v=3","gravatar_id":"","url":"https://api.github.com/users/Raven24","html_url":"https://github.com/Raven24","followers_url":"https://api.github.com/users/Raven24/followers","following_url":"https://api.github.com/users/Raven24/following{/other_user}","gists_url":"https://api.github.com/users/Raven24/gists{/gist_id}","starred_url":"https://api.github.com/users/Raven24/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Raven24/subscriptions","organizations_url":"https://api.github.com/users/Raven24/orgs","repos_url":"https://api.github.com/users/Raven24/repos","events_url":"https://api.github.com/users/Raven24/events{/privacy}","received_events_url":"https://api.github.com/users/Raven24/received_events","type":"User","site_admin":false},"repo":{"id":2538373,"name":"diaspora","full_name":"Raven24/diaspora","owner":{"login":"Raven24","id":117366,"avatar_url":"https://avatars.githubusercontent.com/u/117366?v=3","gravatar_id":"","url":"https://api.github.com/users/Raven24","html_url":"https://github.com/Raven24","followers_url":"https://api.github.com/users/Raven24/followers","following_url":"https://api.github.com/users/Raven24/following{/other_user}","gists_url":"https://api.github.com/users/Raven24/gists{/gist_id}","starred_url":"https://api.github.com/users/Raven24/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Raven24/subscriptions","organizations_url":"https://api.github.com/users/Raven24/orgs","repos_url":"https://api.github.com/users/Raven24/repos","events_url":"https://api.github.com/users/Raven24/events{/privacy}","received_events_url":"https://api.github.com/users/Raven24/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Raven24/diaspora","description":"Distributed and contextual social networking","fork":true,"url":"https://api.github.com/repos/Raven24/diaspora","forks_url":"https://api.github.com/repos/Raven24/diaspora/forks","keys_url":"https://api.github.com/repos/Raven24/diaspora/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Raven24/diaspora/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Raven24/diaspora/teams","hooks_url":"https://api.github.com/repos/Raven24/diaspora/hooks","issue_events_url":"https://api.github.com/repos/Raven24/diaspora/issues/events{/number}","events_url":"https://api.github.com/repos/Raven24/diaspora/events","assignees_url":"https://api.github.com/repos/Raven24/diaspora/assignees{/user}","branches_url":"https://api.github.com/repos/Raven24/diaspora/branches{/branch}","tags_url":"https://api.github.com/repos/Raven24/diaspora/tags","blobs_url":"https://api.github.com/repos/Raven24/diaspora/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Raven24/diaspora/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Raven24/diaspora/git/refs{/sha}","trees_url":"https://api.github.com/repos/Raven24/diaspora/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Raven24/diaspora/statuses/{sha}","languages_url":"https://api.github.com/repos/Raven24/diaspora/languages","stargazers_url":"https://api.github.com/repos/Raven24/diaspora/stargazers","contributors_url":"https://api.github.com/repos/Raven24/diaspora/contributors","subscribers_url":"https://api.github.com/repos/Raven24/diaspora/subscribers","subscription_url":"https://api.github.com/repos/Raven24/diaspora/subscription","commits_url":"https://api.github.com/repos/Raven24/diaspora/commits{/sha}","git_commits_url":"https://api.github.com/repos/Raven24/diaspora/git/commits{/sha}","comments_url":"https://api.github.com/repos/Raven24/diaspora/comments{/number}","issue_comment_url":"https://api.github.com/repos/Raven24/diaspora/issues/comments{/number}","contents_url":"https://api.github.com/repos/Raven24/diaspora/contents/{+path}","compare_url":"https://api.github.com/repos/Raven24/diaspora/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Raven24/diaspora/merges","archive_url":"https://api.github.com/repos/Raven24/diaspora/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Raven24/diaspora/downloads","issues_url":"https://api.github.com/repos/Raven24/diaspora/issues{/number}","pulls_url":"https://api.github.com/repos/Raven24/diaspora/pulls{/number}","milestones_url":"https://api.github.com/repos/Raven24/diaspora/milestones{/number}","notifications_url":"https://api.github.com/repos/Raven24/diaspora/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Raven24/diaspora/labels{/name}","releases_url":"https://api.github.com/repos/Raven24/diaspora/releases{/id}","created_at":"2011-10-08T14:22:50Z","updated_at":"2014-05-01T10:29:36Z","pushed_at":"2015-08-05T01:11:19Z","git_url":"git://github.com/Raven24/diaspora.git","ssh_url":"git@github.com:Raven24/diaspora.git","clone_url":"https://github.com/Raven24/diaspora.git","svn_url":"https://github.com/Raven24/diaspora","homepage":"diasporafoundation.org/get_involved","size":104752,"stargazers_count":2,"watchers_count":2,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":2,"default_branch":"master"}},"base":{"label":"diaspora:develop","ref":"develop","sha":"85f9a0eaa983343be74b642012fdb95df005c9fd","user":{"login":"diaspora","id":293207,"avatar_url":"https://avatars.githubusercontent.com/u/293207?v=3","gravatar_id":"","url":"https://api.github.com/users/diaspora","html_url":"https://github.com/diaspora","followers_url":"https://api.github.com/users/diaspora/followers","following_url":"https://api.github.com/users/diaspora/following{/other_user}","gists_url":"https://api.github.com/users/diaspora/gists{/gist_id}","starred_url":"https://api.github.com/users/diaspora/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diaspora/subscriptions","organizations_url":"https://api.github.com/users/diaspora/orgs","repos_url":"https://api.github.com/users/diaspora/repos","events_url":"https://api.github.com/users/diaspora/events{/privacy}","received_events_url":"https://api.github.com/users/diaspora/received_events","type":"Organization","site_admin":false},"repo":{"id":911765,"name":"diaspora","full_name":"diaspora/diaspora","owner":{"login":"diaspora","id":293207,"avatar_url":"https://avatars.githubusercontent.com/u/293207?v=3","gravatar_id":"","url":"https://api.github.com/users/diaspora","html_url":"https://github.com/diaspora","followers_url":"https://api.github.com/users/diaspora/followers","following_url":"https://api.github.com/users/diaspora/following{/other_user}","gists_url":"https://api.github.com/users/diaspora/gists{/gist_id}","starred_url":"https://api.github.com/users/diaspora/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diaspora/subscriptions","organizations_url":"https://api.github.com/users/diaspora/orgs","repos_url":"https://api.github.com/users/diaspora/repos","events_url":"https://api.github.com/users/diaspora/events{/privacy}","received_events_url":"https://api.github.com/users/diaspora/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/diaspora/diaspora","description":"Distributed and contextual social networking","fork":false,"url":"https://api.github.com/repos/diaspora/diaspora","forks_url":"https://api.github.com/repos/diaspora/diaspora/forks","keys_url":"https://api.github.com/repos/diaspora/diaspora/keys{/key_id}","collaborators_url":"https://api.github.com/repos/diaspora/diaspora/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/diaspora/diaspora/teams","hooks_url":"https://api.github.com/repos/diaspora/diaspora/hooks","issue_events_url":"https://api.github.com/repos/diaspora/diaspora/issues/events{/number}","events_url":"https://api.github.com/repos/diaspora/diaspora/events","assignees_url":"https://api.github.com/repos/diaspora/diaspora/assignees{/user}","branches_url":"https://api.github.com/repos/diaspora/diaspora/branches{/branch}","tags_url":"https://api.github.com/repos/diaspora/diaspora/tags","blobs_url":"https://api.github.com/repos/diaspora/diaspora/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/diaspora/diaspora/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/diaspora/diaspora/git/refs{/sha}","trees_url":"https://api.github.com/repos/diaspora/diaspora/git/trees{/sha}","statuses_url":"https://api.github.com/repos/diaspora/diaspora/statuses/{sha}","languages_url":"https://api.github.com/repos/diaspora/diaspora/languages","stargazers_url":"https://api.github.com/repos/diaspora/diaspora/stargazers","contributors_url":"https://api.github.com/repos/diaspora/diaspora/contributors","subscribers_url":"https://api.github.com/repos/diaspora/diaspora/subscribers","subscription_url":"https://api.github.com/repos/diaspora/diaspora/subscription","commits_url":"https://api.github.com/repos/diaspora/diaspora/commits{/sha}","git_commits_url":"https://api.github.com/repos/diaspora/diaspora/git/commits{/sha}","comments_url":"https://api.github.com/repos/diaspora/diaspora/comments{/number}","issue_comment_url":"https://api.github.com/repos/diaspora/diaspora/issues/comments{/number}","contents_url":"https://api.github.com/repos/diaspora/diaspora/contents/{+path}","compare_url":"https://api.github.com/repos/diaspora/diaspora/compare/{base}...{head}","merges_url":"https://api.github.com/repos/diaspora/diaspora/merges","archive_url":"https://api.github.com/repos/diaspora/diaspora/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/diaspora/diaspora/downloads","issues_url":"https://api.github.com/repos/diaspora/diaspora/issues{/number}","pulls_url":"https://api.github.com/repos/diaspora/diaspora/pulls{/number}","milestones_url":"https://api.github.com/repos/diaspora/diaspora/milestones{/number}","notifications_url":"https://api.github.com/repos/diaspora/diaspora/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/diaspora/diaspora/labels{/name}","releases_url":"https://api.github.com/repos/diaspora/diaspora/releases{/id}","created_at":"2010-09-15T05:20:04Z","updated_at":"2015-08-04T19:50:58Z","pushed_at":"2015-08-05T01:11:20Z","git_url":"git://github.com/diaspora/diaspora.git","ssh_url":"git@github.com:diaspora/diaspora.git","clone_url":"https://github.com/diaspora/diaspora.git","svn_url":"https://github.com/diaspora/diaspora","homepage":"https://diasporafoundation.org/","size":254556,"stargazers_count":10191,"watchers_count":10191,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2643,"mirror_url":null,"open_issues_count":410,"forks":2643,"open_issues":410,"watchers":10191,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/diaspora/diaspora/pulls/6290"},"html":{"href":"https://github.com/diaspora/diaspora/pull/6290"},"issue":{"href":"https://api.github.com/repos/diaspora/diaspora/issues/6290"},"comments":{"href":"https://api.github.com/repos/diaspora/diaspora/issues/6290/comments"},"review_comments":{"href":"https://api.github.com/repos/diaspora/diaspora/pulls/6290/comments"},"review_comment":{"href":"https://api.github.com/repos/diaspora/diaspora/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/diaspora/diaspora/pulls/6290/commits"},"statuses":{"href":"https://api.github.com/repos/diaspora/diaspora/statuses/08b6695396a40a228ee13436b6fcbb0c440677e2"}}}}