{"action":"created","comment":{"url":"https://api.github.com/repos/b12io/orchestra/pulls/comments/78636296","id":78636296,"diff_hunk":"@@ -51,3 +51,19 @@ The `beanstalk_dispatch.client.schedule_function` schedules a function\n to run on a given SQS queue.  The function name you pass it must be a\n key in the `BEANSTALK_DISPATCH_TABLE`, and the queue name you pass it\n must be a queue for which a beanstalk worker is configured.\n+\n+## Using SafeTasks\n+\n+By default, every function run by `beanstalk_dispatch` is wrapped in a\n+`SafeTask` class which sets a `@timeout` decorator on the function and catches\n+any exceptions for logging. If you would like to customize the behavior of the\n+`SafeTask`, you can pass in an instance in to `schedule_function` which\n+contains your function and have this run.\n+\n+The following parameters/functions are configurable on a `SafeTask`\n+\n+`timeout`: time in seconds the task may run","path":"beanstalk_dispatch/README.md","position":15,"original_position":15,"commit_id":"7116277f40fac0a2a35173377e7dafd9d98e08a1","original_commit_id":"7116277f40fac0a2a35173377e7dafd9d98e08a1","user":{"login":"marcua","id":57725,"avatar_url":"https://avatars.githubusercontent.com/u/57725?v=3","gravatar_id":"","url":"https://api.github.com/users/marcua","html_url":"https://github.com/marcua","followers_url":"https://api.github.com/users/marcua/followers","following_url":"https://api.github.com/users/marcua/following{/other_user}","gists_url":"https://api.github.com/users/marcua/gists{/gist_id}","starred_url":"https://api.github.com/users/marcua/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcua/subscriptions","organizations_url":"https://api.github.com/users/marcua/orgs","repos_url":"https://api.github.com/users/marcua/repos","events_url":"https://api.github.com/users/marcua/events{/privacy}","received_events_url":"https://api.github.com/users/marcua/received_events","type":"User","site_admin":false},"body":"make it a timedelta","created_at":"2016-09-13T20:21:05Z","updated_at":"2016-09-13T20:21:05Z","html_url":"https://github.com/b12io/orchestra/pull/354#discussion_r78636296","pull_request_url":"https://api.github.com/repos/b12io/orchestra/pulls/354","_links":{"self":{"href":"https://api.github.com/repos/b12io/orchestra/pulls/comments/78636296"},"html":{"href":"https://github.com/b12io/orchestra/pull/354#discussion_r78636296"},"pull_request":{"href":"https://api.github.com/repos/b12io/orchestra/pulls/354"}}},"pull_request":{"url":"https://api.github.com/repos/b12io/orchestra/pulls/354","id":85096562,"html_url":"https://github.com/b12io/orchestra/pull/354","diff_url":"https://github.com/b12io/orchestra/pull/354.diff","patch_url":"https://github.com/b12io/orchestra/pull/354.patch","issue_url":"https://api.github.com/repos/b12io/orchestra/issues/354","number":354,"state":"open","locked":false,"title":"Basic SafeTask implementation","user":{"login":"joshblum","id":1144020,"avatar_url":"https://avatars.githubusercontent.com/u/1144020?v=3","gravatar_id":"","url":"https://api.github.com/users/joshblum","html_url":"https://github.com/joshblum","followers_url":"https://api.github.com/users/joshblum/followers","following_url":"https://api.github.com/users/joshblum/following{/other_user}","gists_url":"https://api.github.com/users/joshblum/gists{/gist_id}","starred_url":"https://api.github.com/users/joshblum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshblum/subscriptions","organizations_url":"https://api.github.com/users/joshblum/orgs","repos_url":"https://api.github.com/users/joshblum/repos","events_url":"https://api.github.com/users/joshblum/events{/privacy}","received_events_url":"https://api.github.com/users/joshblum/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-09-13T18:03:43Z","updated_at":"2016-09-13T20:21:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a339be100432f46f74a21c383b7eb5f7be86c0c9","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/b12io/orchestra/pulls/354/commits","review_comments_url":"https://api.github.com/repos/b12io/orchestra/pulls/354/comments","review_comment_url":"https://api.github.com/repos/b12io/orchestra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/b12io/orchestra/issues/354/comments","statuses_url":"https://api.github.com/repos/b12io/orchestra/statuses/7116277f40fac0a2a35173377e7dafd9d98e08a1","head":{"label":"b12io:safetasks","ref":"safetasks","sha":"7116277f40fac0a2a35173377e7dafd9d98e08a1","user":{"login":"b12io","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/b12io","html_url":"https://github.com/b12io","followers_url":"https://api.github.com/users/b12io/followers","following_url":"https://api.github.com/users/b12io/following{/other_user}","gists_url":"https://api.github.com/users/b12io/gists{/gist_id}","starred_url":"https://api.github.com/users/b12io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b12io/subscriptions","organizations_url":"https://api.github.com/users/b12io/orgs","repos_url":"https://api.github.com/users/b12io/repos","events_url":"https://api.github.com/users/b12io/events{/privacy}","received_events_url":"https://api.github.com/users/b12io/received_events","type":"Organization","site_admin":false},"repo":{"id":42593972,"name":"orchestra","full_name":"b12io/orchestra","owner":{"login":"b12io","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/b12io","html_url":"https://github.com/b12io","followers_url":"https://api.github.com/users/b12io/followers","following_url":"https://api.github.com/users/b12io/following{/other_user}","gists_url":"https://api.github.com/users/b12io/gists{/gist_id}","starred_url":"https://api.github.com/users/b12io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b12io/subscriptions","organizations_url":"https://api.github.com/users/b12io/orgs","repos_url":"https://api.github.com/users/b12io/repos","events_url":"https://api.github.com/users/b12io/events{/privacy}","received_events_url":"https://api.github.com/users/b12io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/b12io/orchestra","description":"Orchestra is a system for orchestrating project teams of experts and machines.","fork":false,"url":"https://api.github.com/repos/b12io/orchestra","forks_url":"https://api.github.com/repos/b12io/orchestra/forks","keys_url":"https://api.github.com/repos/b12io/orchestra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/b12io/orchestra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/b12io/orchestra/teams","hooks_url":"https://api.github.com/repos/b12io/orchestra/hooks","issue_events_url":"https://api.github.com/repos/b12io/orchestra/issues/events{/number}","events_url":"https://api.github.com/repos/b12io/orchestra/events","assignees_url":"https://api.github.com/repos/b12io/orchestra/assignees{/user}","branches_url":"https://api.github.com/repos/b12io/orchestra/branches{/branch}","tags_url":"https://api.github.com/repos/b12io/orchestra/tags","blobs_url":"https://api.github.com/repos/b12io/orchestra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/b12io/orchestra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/b12io/orchestra/git/refs{/sha}","trees_url":"https://api.github.com/repos/b12io/orchestra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/b12io/orchestra/statuses/{sha}","languages_url":"https://api.github.com/repos/b12io/orchestra/languages","stargazers_url":"https://api.github.com/repos/b12io/orchestra/stargazers","contributors_url":"https://api.github.com/repos/b12io/orchestra/contributors","subscribers_url":"https://api.github.com/repos/b12io/orchestra/subscribers","subscription_url":"https://api.github.com/repos/b12io/orchestra/subscription","commits_url":"https://api.github.com/repos/b12io/orchestra/commits{/sha}","git_commits_url":"https://api.github.com/repos/b12io/orchestra/git/commits{/sha}","comments_url":"https://api.github.com/repos/b12io/orchestra/comments{/number}","issue_comment_url":"https://api.github.com/repos/b12io/orchestra/issues/comments{/number}","contents_url":"https://api.github.com/repos/b12io/orchestra/contents/{+path}","compare_url":"https://api.github.com/repos/b12io/orchestra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/b12io/orchestra/merges","archive_url":"https://api.github.com/repos/b12io/orchestra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/b12io/orchestra/downloads","issues_url":"https://api.github.com/repos/b12io/orchestra/issues{/number}","pulls_url":"https://api.github.com/repos/b12io/orchestra/pulls{/number}","milestones_url":"https://api.github.com/repos/b12io/orchestra/milestones{/number}","notifications_url":"https://api.github.com/repos/b12io/orchestra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/b12io/orchestra/labels{/name}","releases_url":"https://api.github.com/repos/b12io/orchestra/releases{/id}","deployments_url":"https://api.github.com/repos/b12io/orchestra/deployments","created_at":"2015-09-16T14:55:16Z","updated_at":"2016-09-12T10:28:34Z","pushed_at":"2016-09-13T18:05:27Z","git_url":"git://github.com/b12io/orchestra.git","ssh_url":"git@github.com:b12io/orchestra.git","clone_url":"https://github.com/b12io/orchestra.git","svn_url":"https://github.com/b12io/orchestra","homepage":"http://orchestra.unlimitedlabs.com/","size":8587,"stargazers_count":276,"watchers_count":276,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":22,"mirror_url":null,"open_issues_count":37,"forks":22,"open_issues":37,"watchers":276,"default_branch":"master"}},"base":{"label":"b12io:master","ref":"master","sha":"0b0c7059117bd7344365cd3b7535a0bef709f58a","user":{"login":"b12io","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/b12io","html_url":"https://github.com/b12io","followers_url":"https://api.github.com/users/b12io/followers","following_url":"https://api.github.com/users/b12io/following{/other_user}","gists_url":"https://api.github.com/users/b12io/gists{/gist_id}","starred_url":"https://api.github.com/users/b12io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b12io/subscriptions","organizations_url":"https://api.github.com/users/b12io/orgs","repos_url":"https://api.github.com/users/b12io/repos","events_url":"https://api.github.com/users/b12io/events{/privacy}","received_events_url":"https://api.github.com/users/b12io/received_events","type":"Organization","site_admin":false},"repo":{"id":42593972,"name":"orchestra","full_name":"b12io/orchestra","owner":{"login":"b12io","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/b12io","html_url":"https://github.com/b12io","followers_url":"https://api.github.com/users/b12io/followers","following_url":"https://api.github.com/users/b12io/following{/other_user}","gists_url":"https://api.github.com/users/b12io/gists{/gist_id}","starred_url":"https://api.github.com/users/b12io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b12io/subscriptions","organizations_url":"https://api.github.com/users/b12io/orgs","repos_url":"https://api.github.com/users/b12io/repos","events_url":"https://api.github.com/users/b12io/events{/privacy}","received_events_url":"https://api.github.com/users/b12io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/b12io/orchestra","description":"Orchestra is a system for orchestrating project teams of experts and machines.","fork":false,"url":"https://api.github.com/repos/b12io/orchestra","forks_url":"https://api.github.com/repos/b12io/orchestra/forks","keys_url":"https://api.github.com/repos/b12io/orchestra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/b12io/orchestra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/b12io/orchestra/teams","hooks_url":"https://api.github.com/repos/b12io/orchestra/hooks","issue_events_url":"https://api.github.com/repos/b12io/orchestra/issues/events{/number}","events_url":"https://api.github.com/repos/b12io/orchestra/events","assignees_url":"https://api.github.com/repos/b12io/orchestra/assignees{/user}","branches_url":"https://api.github.com/repos/b12io/orchestra/branches{/branch}","tags_url":"https://api.github.com/repos/b12io/orchestra/tags","blobs_url":"https://api.github.com/repos/b12io/orchestra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/b12io/orchestra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/b12io/orchestra/git/refs{/sha}","trees_url":"https://api.github.com/repos/b12io/orchestra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/b12io/orchestra/statuses/{sha}","languages_url":"https://api.github.com/repos/b12io/orchestra/languages","stargazers_url":"https://api.github.com/repos/b12io/orchestra/stargazers","contributors_url":"https://api.github.com/repos/b12io/orchestra/contributors","subscribers_url":"https://api.github.com/repos/b12io/orchestra/subscribers","subscription_url":"https://api.github.com/repos/b12io/orchestra/subscription","commits_url":"https://api.github.com/repos/b12io/orchestra/commits{/sha}","git_commits_url":"https://api.github.com/repos/b12io/orchestra/git/commits{/sha}","comments_url":"https://api.github.com/repos/b12io/orchestra/comments{/number}","issue_comment_url":"https://api.github.com/repos/b12io/orchestra/issues/comments{/number}","contents_url":"https://api.github.com/repos/b12io/orchestra/contents/{+path}","compare_url":"https://api.github.com/repos/b12io/orchestra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/b12io/orchestra/merges","archive_url":"https://api.github.com/repos/b12io/orchestra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/b12io/orchestra/downloads","issues_url":"https://api.github.com/repos/b12io/orchestra/issues{/number}","pulls_url":"https://api.github.com/repos/b12io/orchestra/pulls{/number}","milestones_url":"https://api.github.com/repos/b12io/orchestra/milestones{/number}","notifications_url":"https://api.github.com/repos/b12io/orchestra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/b12io/orchestra/labels{/name}","releases_url":"https://api.github.com/repos/b12io/orchestra/releases{/id}","deployments_url":"https://api.github.com/repos/b12io/orchestra/deployments","created_at":"2015-09-16T14:55:16Z","updated_at":"2016-09-12T10:28:34Z","pushed_at":"2016-09-13T18:05:27Z","git_url":"git://github.com/b12io/orchestra.git","ssh_url":"git@github.com:b12io/orchestra.git","clone_url":"https://github.com/b12io/orchestra.git","svn_url":"https://github.com/b12io/orchestra","homepage":"http://orchestra.unlimitedlabs.com/","size":8587,"stargazers_count":276,"watchers_count":276,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":22,"mirror_url":null,"open_issues_count":37,"forks":22,"open_issues":37,"watchers":276,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/b12io/orchestra/pulls/354"},"html":{"href":"https://github.com/b12io/orchestra/pull/354"},"issue":{"href":"https://api.github.com/repos/b12io/orchestra/issues/354"},"comments":{"href":"https://api.github.com/repos/b12io/orchestra/issues/354/comments"},"review_comments":{"href":"https://api.github.com/repos/b12io/orchestra/pulls/354/comments"},"review_comment":{"href":"https://api.github.com/repos/b12io/orchestra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/b12io/orchestra/pulls/354/commits"},"statuses":{"href":"https://api.github.com/repos/b12io/orchestra/statuses/7116277f40fac0a2a35173377e7dafd9d98e08a1"}}}}
{"actor":{"display_login":"marcua"}}