{"action":"created","comment":{"url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/comments/67376787","id":67376787,"diff_hunk":"@@ -71,6 +80,47 @@ def set(self, key, value):\n             self.cache[key] = value\n \n \n+def get_from_redis(redis_server, dkey, get_on_failure, expiry, force_live):","path":"wikipediabase/util.py","position":39,"original_position":39,"commit_id":"edb34e595bcba387e196e2c2810626afc7c3fb66","original_commit_id":"edb34e595bcba387e196e2c2810626afc7c3fb66","user":{"login":"michaelsilver","id":5913522,"avatar_url":"https://avatars.githubusercontent.com/u/5913522?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelsilver","html_url":"https://github.com/michaelsilver","followers_url":"https://api.github.com/users/michaelsilver/followers","following_url":"https://api.github.com/users/michaelsilver/following{/other_user}","gists_url":"https://api.github.com/users/michaelsilver/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelsilver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelsilver/subscriptions","organizations_url":"https://api.github.com/users/michaelsilver/orgs","repos_url":"https://api.github.com/users/michaelsilver/repos","events_url":"https://api.github.com/users/michaelsilver/events{/privacy}","received_events_url":"https://api.github.com/users/michaelsilver/received_events","type":"User","site_admin":false},"body":"Could you add tests for this function in such a way that it doesn't email people? Maybe abstract away the emailing part by using a wrapper function to call this function?","created_at":"2016-06-16T16:21:13Z","updated_at":"2016-06-16T16:21:13Z","html_url":"https://github.com/infolab-csail/WikipediaBase/pull/248#discussion_r67376787","pull_request_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248","_links":{"self":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/comments/67376787"},"html":{"href":"https://github.com/infolab-csail/WikipediaBase/pull/248#discussion_r67376787"},"pull_request":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248"}}},"pull_request":{"url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248","id":73979551,"html_url":"https://github.com/infolab-csail/WikipediaBase/pull/248","diff_url":"https://github.com/infolab-csail/WikipediaBase/pull/248.diff","patch_url":"https://github.com/infolab-csail/WikipediaBase/pull/248.patch","issue_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/248","number":248,"state":"open","locked":false,"title":"Gracefully handle Redis/PostgreSQL failures","user":{"login":"chsamlee","id":4664430,"avatar_url":"https://avatars.githubusercontent.com/u/4664430?v=3","gravatar_id":"","url":"https://api.github.com/users/chsamlee","html_url":"https://github.com/chsamlee","followers_url":"https://api.github.com/users/chsamlee/followers","following_url":"https://api.github.com/users/chsamlee/following{/other_user}","gists_url":"https://api.github.com/users/chsamlee/gists{/gist_id}","starred_url":"https://api.github.com/users/chsamlee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chsamlee/subscriptions","organizations_url":"https://api.github.com/users/chsamlee/orgs","repos_url":"https://api.github.com/users/chsamlee/repos","events_url":"https://api.github.com/users/chsamlee/events{/privacy}","received_events_url":"https://api.github.com/users/chsamlee/received_events","type":"User","site_admin":false},"body":"Resolves #187.\r\n\r\nBehavior after merge:\r\n- When Redis is down, we bypass the cache and return the answer(s). A warning (see below) is issued.\r\n- When PostgreSQL is down, we return the error\r\n`((:error wikipediabase-internal-error :message \"PostgreSQL is unavailable\"))`\r\n- A warning includes a printed message saying which part failed and how to restart it. For production host, an email will be sent when the first error occur, and will not be sent again until the system is working correctly again. The default is to send to the user running Wikipediabse, but this behavior can be overrided by setting `WIKIPEDIABASE_ADMIN_EMAIL` environment variable.\r\n- Add `wikipediabase:` prefix to Redis keys so we don't accidentally wipe out Redis keys used by other programs (see #238). The command to remove only Wikipediabase-related keys is\r\n`redis-cli KEYS \"wikipediabase:*\" | xargs -d '\\n' redis-cli DEL`.","created_at":"2016-06-15T20:36:11Z","updated_at":"2016-06-16T16:21:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"80576f242fab0ea80a80fbff304b2797cea117c5","assignee":{"login":"michaelsilver","id":5913522,"avatar_url":"https://avatars.githubusercontent.com/u/5913522?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelsilver","html_url":"https://github.com/michaelsilver","followers_url":"https://api.github.com/users/michaelsilver/followers","following_url":"https://api.github.com/users/michaelsilver/following{/other_user}","gists_url":"https://api.github.com/users/michaelsilver/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelsilver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelsilver/subscriptions","organizations_url":"https://api.github.com/users/michaelsilver/orgs","repos_url":"https://api.github.com/users/michaelsilver/repos","events_url":"https://api.github.com/users/michaelsilver/events{/privacy}","received_events_url":"https://api.github.com/users/michaelsilver/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248/commits","review_comments_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248/comments","review_comment_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/comments{/number}","comments_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/248/comments","statuses_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/statuses/edb34e595bcba387e196e2c2810626afc7c3fb66","head":{"label":"infolab-csail:infrastructure","ref":"infrastructure","sha":"edb34e595bcba387e196e2c2810626afc7c3fb66","user":{"login":"infolab-csail","id":13588310,"avatar_url":"https://avatars.githubusercontent.com/u/13588310?v=3","gravatar_id":"","url":"https://api.github.com/users/infolab-csail","html_url":"https://github.com/infolab-csail","followers_url":"https://api.github.com/users/infolab-csail/followers","following_url":"https://api.github.com/users/infolab-csail/following{/other_user}","gists_url":"https://api.github.com/users/infolab-csail/gists{/gist_id}","starred_url":"https://api.github.com/users/infolab-csail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infolab-csail/subscriptions","organizations_url":"https://api.github.com/users/infolab-csail/orgs","repos_url":"https://api.github.com/users/infolab-csail/repos","events_url":"https://api.github.com/users/infolab-csail/events{/privacy}","received_events_url":"https://api.github.com/users/infolab-csail/received_events","type":"Organization","site_admin":false},"repo":{"id":15544139,"name":"WikipediaBase","full_name":"infolab-csail/WikipediaBase","owner":{"login":"infolab-csail","id":13588310,"avatar_url":"https://avatars.githubusercontent.com/u/13588310?v=3","gravatar_id":"","url":"https://api.github.com/users/infolab-csail","html_url":"https://github.com/infolab-csail","followers_url":"https://api.github.com/users/infolab-csail/followers","following_url":"https://api.github.com/users/infolab-csail/following{/other_user}","gists_url":"https://api.github.com/users/infolab-csail/gists{/gist_id}","starred_url":"https://api.github.com/users/infolab-csail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infolab-csail/subscriptions","organizations_url":"https://api.github.com/users/infolab-csail/orgs","repos_url":"https://api.github.com/users/infolab-csail/repos","events_url":"https://api.github.com/users/infolab-csail/events{/privacy}","received_events_url":"https://api.github.com/users/infolab-csail/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/infolab-csail/WikipediaBase","description":"Wikipedia interaction with start.mit.edu","fork":false,"url":"https://api.github.com/repos/infolab-csail/WikipediaBase","forks_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/forks","keys_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/keys{/key_id}","collaborators_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/teams","hooks_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/hooks","issue_events_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/events{/number}","events_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/events","assignees_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/assignees{/user}","branches_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/branches{/branch}","tags_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/tags","blobs_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/refs{/sha}","trees_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/trees{/sha}","statuses_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/statuses/{sha}","languages_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/languages","stargazers_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/stargazers","contributors_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/contributors","subscribers_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/subscribers","subscription_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/subscription","commits_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/commits{/sha}","git_commits_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/commits{/sha}","comments_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/comments{/number}","issue_comment_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/comments{/number}","contents_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/contents/{+path}","compare_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/compare/{base}...{head}","merges_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/merges","archive_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/downloads","issues_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues{/number}","pulls_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls{/number}","milestones_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/milestones{/number}","notifications_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/labels{/name}","releases_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/releases{/id}","deployments_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/deployments","created_at":"2013-12-31T06:02:34Z","updated_at":"2016-01-13T23:13:10Z","pushed_at":"2016-06-15T20:36:11Z","git_url":"git://github.com/infolab-csail/WikipediaBase.git","ssh_url":"git@github.com:infolab-csail/WikipediaBase.git","clone_url":"https://github.com/infolab-csail/WikipediaBase.git","svn_url":"https://github.com/infolab-csail/WikipediaBase","homepage":null,"size":9134,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":26,"forks":1,"open_issues":26,"watchers":0,"default_branch":"master"}},"base":{"label":"infolab-csail:master","ref":"master","sha":"51ae306f6c80d5b498519f00365912bf2cd176c5","user":{"login":"infolab-csail","id":13588310,"avatar_url":"https://avatars.githubusercontent.com/u/13588310?v=3","gravatar_id":"","url":"https://api.github.com/users/infolab-csail","html_url":"https://github.com/infolab-csail","followers_url":"https://api.github.com/users/infolab-csail/followers","following_url":"https://api.github.com/users/infolab-csail/following{/other_user}","gists_url":"https://api.github.com/users/infolab-csail/gists{/gist_id}","starred_url":"https://api.github.com/users/infolab-csail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infolab-csail/subscriptions","organizations_url":"https://api.github.com/users/infolab-csail/orgs","repos_url":"https://api.github.com/users/infolab-csail/repos","events_url":"https://api.github.com/users/infolab-csail/events{/privacy}","received_events_url":"https://api.github.com/users/infolab-csail/received_events","type":"Organization","site_admin":false},"repo":{"id":15544139,"name":"WikipediaBase","full_name":"infolab-csail/WikipediaBase","owner":{"login":"infolab-csail","id":13588310,"avatar_url":"https://avatars.githubusercontent.com/u/13588310?v=3","gravatar_id":"","url":"https://api.github.com/users/infolab-csail","html_url":"https://github.com/infolab-csail","followers_url":"https://api.github.com/users/infolab-csail/followers","following_url":"https://api.github.com/users/infolab-csail/following{/other_user}","gists_url":"https://api.github.com/users/infolab-csail/gists{/gist_id}","starred_url":"https://api.github.com/users/infolab-csail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infolab-csail/subscriptions","organizations_url":"https://api.github.com/users/infolab-csail/orgs","repos_url":"https://api.github.com/users/infolab-csail/repos","events_url":"https://api.github.com/users/infolab-csail/events{/privacy}","received_events_url":"https://api.github.com/users/infolab-csail/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/infolab-csail/WikipediaBase","description":"Wikipedia interaction with start.mit.edu","fork":false,"url":"https://api.github.com/repos/infolab-csail/WikipediaBase","forks_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/forks","keys_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/keys{/key_id}","collaborators_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/teams","hooks_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/hooks","issue_events_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/events{/number}","events_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/events","assignees_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/assignees{/user}","branches_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/branches{/branch}","tags_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/tags","blobs_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/refs{/sha}","trees_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/trees{/sha}","statuses_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/statuses/{sha}","languages_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/languages","stargazers_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/stargazers","contributors_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/contributors","subscribers_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/subscribers","subscription_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/subscription","commits_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/commits{/sha}","git_commits_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/git/commits{/sha}","comments_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/comments{/number}","issue_comment_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/comments{/number}","contents_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/contents/{+path}","compare_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/compare/{base}...{head}","merges_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/merges","archive_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/downloads","issues_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues{/number}","pulls_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls{/number}","milestones_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/milestones{/number}","notifications_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/labels{/name}","releases_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/releases{/id}","deployments_url":"https://api.github.com/repos/infolab-csail/WikipediaBase/deployments","created_at":"2013-12-31T06:02:34Z","updated_at":"2016-01-13T23:13:10Z","pushed_at":"2016-06-15T20:36:11Z","git_url":"git://github.com/infolab-csail/WikipediaBase.git","ssh_url":"git@github.com:infolab-csail/WikipediaBase.git","clone_url":"https://github.com/infolab-csail/WikipediaBase.git","svn_url":"https://github.com/infolab-csail/WikipediaBase","homepage":null,"size":9134,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":26,"forks":1,"open_issues":26,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248"},"html":{"href":"https://github.com/infolab-csail/WikipediaBase/pull/248"},"issue":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/248"},"comments":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/issues/248/comments"},"review_comments":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248/comments"},"review_comment":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/pulls/248/commits"},"statuses":{"href":"https://api.github.com/repos/infolab-csail/WikipediaBase/statuses/edb34e595bcba387e196e2c2810626afc7c3fb66"}}}}
{"actor":{"display_login":"michaelsilver"}}