{"action":"created","issue":{"url":"https://api.github.com/repos/b-ryan/farmhand/issues/4","repository_url":"https://api.github.com/repos/b-ryan/farmhand","labels_url":"https://api.github.com/repos/b-ryan/farmhand/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/b-ryan/farmhand/issues/4/comments","events_url":"https://api.github.com/repos/b-ryan/farmhand/issues/4/events","html_url":"https://github.com/b-ryan/farmhand/issues/4","id":211980733,"number":4,"title":"Automatic retrying of failed jobs","user":{"login":"b-ryan","id":1183997,"avatar_url":"https://avatars2.githubusercontent.com/u/1183997?v=3","gravatar_id":"","url":"https://api.github.com/users/b-ryan","html_url":"https://github.com/b-ryan","followers_url":"https://api.github.com/users/b-ryan/followers","following_url":"https://api.github.com/users/b-ryan/following{/other_user}","gists_url":"https://api.github.com/users/b-ryan/gists{/gist_id}","starred_url":"https://api.github.com/users/b-ryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b-ryan/subscriptions","organizations_url":"https://api.github.com/users/b-ryan/orgs","repos_url":"https://api.github.com/users/b-ryan/repos","events_url":"https://api.github.com/users/b-ryan/events{/privacy}","received_events_url":"https://api.github.com/users/b-ryan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-03-05T20:25:55Z","updated_at":"2017-03-22T01:18:22Z","closed_at":"2017-03-22T01:18:22Z","body":"Description says it all. This can be implemented as a new middleware function. The job should be able to define a strategy for retrying. For example, properties like:\r\n\r\n- A backoff strategy\r\n- A maximum number of times to retry\r\n- A maximum amount of time to retry\r\n\r\ncan be defined in the job. The `wrap-handle-response` middleware should be updated to check for some data in the response that indicates the job has been handled already. For example, if a key called `:handled?` is set and `true` it will skip its own handling mechanism.\r\n\r\nAlternatively it could just be implemented directly into `wrap-handle-response` or `wrap-handle-response` could be split into two different middlewares: `wrap-handle-success` and `wrap-handle-failure`.\r\n\r\nI think the benefit of having it as its own separate middleware is that a user can replace it with their own retry functionality."},"comment":{"url":"https://api.github.com/repos/b-ryan/farmhand/issues/comments/288269279","html_url":"https://github.com/b-ryan/farmhand/issues/4#issuecomment-288269279","issue_url":"https://api.github.com/repos/b-ryan/farmhand/issues/4","id":288269279,"user":{"login":"b-ryan","id":1183997,"avatar_url":"https://avatars2.githubusercontent.com/u/1183997?v=3","gravatar_id":"","url":"https://api.github.com/users/b-ryan","html_url":"https://github.com/b-ryan","followers_url":"https://api.github.com/users/b-ryan/followers","following_url":"https://api.github.com/users/b-ryan/following{/other_user}","gists_url":"https://api.github.com/users/b-ryan/gists{/gist_id}","starred_url":"https://api.github.com/users/b-ryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b-ryan/subscriptions","organizations_url":"https://api.github.com/users/b-ryan/orgs","repos_url":"https://api.github.com/users/b-ryan/repos","events_url":"https://api.github.com/users/b-ryan/events{/privacy}","received_events_url":"https://api.github.com/users/b-ryan/received_events","type":"User","site_admin":false},"created_at":"2017-03-22T01:18:22Z","updated_at":"2017-03-22T01:18:22Z","body":"This is being released in 0.7.0 - implemented as its own middleware."}}
{"actor":{"display_login":"b-ryan"}}