{"action":"created","issue":{"url":"https://api.github.com/repos/alphabetum/pandoc-ruby/issues/16","labels_url":"https://api.github.com/repos/alphabetum/pandoc-ruby/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/alphabetum/pandoc-ruby/issues/16/comments","events_url":"https://api.github.com/repos/alphabetum/pandoc-ruby/issues/16/events","html_url":"https://github.com/alphabetum/pandoc-ruby/pull/16","id":115986392,"number":16,"title":"Add timeout option for out-of-control pandoc jobs","user":{"login":"dginev","id":348975,"avatar_url":"https://avatars.githubusercontent.com/u/348975?v=3","gravatar_id":"","url":"https://api.github.com/users/dginev","html_url":"https://github.com/dginev","followers_url":"https://api.github.com/users/dginev/followers","following_url":"https://api.github.com/users/dginev/following{/other_user}","gists_url":"https://api.github.com/users/dginev/gists{/gist_id}","starred_url":"https://api.github.com/users/dginev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dginev/subscriptions","organizations_url":"https://api.github.com/users/dginev/orgs","repos_url":"https://api.github.com/users/dginev/repos","events_url":"https://api.github.com/users/dginev/events{/privacy}","received_events_url":"https://api.github.com/users/dginev/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-09T22:55:11Z","updated_at":"2015-11-11T05:20:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/alphabetum/pandoc-ruby/pulls/16","html_url":"https://github.com/alphabetum/pandoc-ruby/pull/16","diff_url":"https://github.com/alphabetum/pandoc-ruby/pull/16.diff","patch_url":"https://github.com/alphabetum/pandoc-ruby/pull/16.patch"},"body":"During our production use of the PandocRuby wrapper at Authorea (www.authorea.com) we have been hitting the occasional out-of-control pandoc job. \r\n\r\nWhile we are pretty sure the pandoc team will eventually resolve each individual problem, the general possibility for an unforeseen problem is always there (look at the extremely weird bomb.tex in this PR for one current example). \r\n\r\nSo in this PR I am proposing a Ruby-level timeout option, which does a dirty -9 kill to the pandoc process if it has not terminated in the allotted time. It is a pretty standard technique for wrappers, though I wish pandoc supported a ```--timeout``` switch natively.\r\n\r\nLet me know what you think about this PR, I would be happy to refactor it to your liking.\r\n\r\nAnd thanks for the handy wrapper!"},"comment":{"url":"https://api.github.com/repos/alphabetum/pandoc-ruby/issues/comments/155670369","html_url":"https://github.com/alphabetum/pandoc-ruby/pull/16#issuecomment-155670369","issue_url":"https://api.github.com/repos/alphabetum/pandoc-ruby/issues/16","id":155670369,"user":{"login":"alphabetum","id":1246,"avatar_url":"https://avatars.githubusercontent.com/u/1246?v=3","gravatar_id":"","url":"https://api.github.com/users/alphabetum","html_url":"https://github.com/alphabetum","followers_url":"https://api.github.com/users/alphabetum/followers","following_url":"https://api.github.com/users/alphabetum/following{/other_user}","gists_url":"https://api.github.com/users/alphabetum/gists{/gist_id}","starred_url":"https://api.github.com/users/alphabetum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alphabetum/subscriptions","organizations_url":"https://api.github.com/users/alphabetum/orgs","repos_url":"https://api.github.com/users/alphabetum/repos","events_url":"https://api.github.com/users/alphabetum/events{/privacy}","received_events_url":"https://api.github.com/users/alphabetum/received_events","type":"User","site_admin":false},"created_at":"2015-11-11T05:20:13Z","updated_at":"2015-11-11T05:20:13Z","body":"Makes sense. I'll take a look!"}}