{"action":"created","comment":{"url":"https://api.github.com/repos/thoughtbot/suspenders/pulls/comments/23598513","id":23598513,"diff_hunk":"@@ -1,2 +1,2 @@\n-web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb\n+web: bundle exec rails server Puma -p ${PORT:-3000} -c ./config/puma.rb","path":"templates/Procfile","position":2,"original_position":2,"commit_id":"211517e07ef9238f197fe342a96d92aa3ce45c79","original_commit_id":"211517e07ef9238f197fe342a96d92aa3ce45c79","user":{"login":"pedrosmmoreira","id":658761,"avatar_url":"https://avatars.githubusercontent.com/u/658761?v=3","gravatar_id":"","url":"https://api.github.com/users/pedrosmmoreira","html_url":"https://github.com/pedrosmmoreira","followers_url":"https://api.github.com/users/pedrosmmoreira/followers","following_url":"https://api.github.com/users/pedrosmmoreira/following{/other_user}","gists_url":"https://api.github.com/users/pedrosmmoreira/gists{/gist_id}","starred_url":"https://api.github.com/users/pedrosmmoreira/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pedrosmmoreira/subscriptions","organizations_url":"https://api.github.com/users/pedrosmmoreira/orgs","repos_url":"https://api.github.com/users/pedrosmmoreira/repos","events_url":"https://api.github.com/users/pedrosmmoreira/events{/privacy}","received_events_url":"https://api.github.com/users/pedrosmmoreira/received_events","type":"User","site_admin":false},"body":"This seems to break starting the app with Foreman. While running `bundle exec rails s puma' works, passing the config file will break with `undefined method `workers'`. This is a known issue (see https://github.com/puma/puma/issues/512)  and the example Procfile in the Heroku docs uses puma directly. Of course, the downside to that solution is losing logging...\r\n\r\nChanging the Procfile to `web: bundle exec puma -C ./config/puma.rb` does boot the app loading the config.\r\nbut will also throw a thread warning related to the connection pool (discussion around similar issues can be found in https://github.com/puma/puma/issues/614).\r\n","created_at":"2015-01-27T10:24:02Z","updated_at":"2015-01-27T10:24:02Z","html_url":"https://github.com/thoughtbot/suspenders/pull/501#discussion_r23598513","pull_request_url":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501","_links":{"self":{"href":"https://api.github.com/repos/thoughtbot/suspenders/pulls/comments/23598513"},"html":{"href":"https://github.com/thoughtbot/suspenders/pull/501#discussion_r23598513"},"pull_request":{"href":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501"}}},"pull_request":{"url":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501","id":28055792,"html_url":"https://github.com/thoughtbot/suspenders/pull/501","diff_url":"https://github.com/thoughtbot/suspenders/pull/501.diff","patch_url":"https://github.com/thoughtbot/suspenders/pull/501.patch","issue_url":"https://api.github.com/repos/thoughtbot/suspenders/issues/501","number":501,"state":"open","locked":false,"title":"Replace Unicorn with Puma","user":{"login":"calebthompson","id":711717,"avatar_url":"https://avatars.githubusercontent.com/u/711717?v=3","gravatar_id":"","url":"https://api.github.com/users/calebthompson","html_url":"https://github.com/calebthompson","followers_url":"https://api.github.com/users/calebthompson/followers","following_url":"https://api.github.com/users/calebthompson/following{/other_user}","gists_url":"https://api.github.com/users/calebthompson/gists{/gist_id}","starred_url":"https://api.github.com/users/calebthompson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calebthompson/subscriptions","organizations_url":"https://api.github.com/users/calebthompson/orgs","repos_url":"https://api.github.com/users/calebthompson/repos","events_url":"https://api.github.com/users/calebthompson/events{/privacy}","received_events_url":"https://api.github.com/users/calebthompson/received_events","type":"User","site_admin":false},"body":"> Heroku now recommends using the Puma webserver. The previously\n> recommended webserver, Unicorn, is susceptible to slow client attacks.\n\nhttps://devcenter.heroku.com/changelog-items/594","created_at":"2015-01-26T20:05:09Z","updated_at":"2015-01-27T10:24:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"514f117f0d77b01efe511602b31cabbebaf45dae","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501/commits","review_comments_url":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501/comments","review_comment_url":"https://api.github.com/repos/thoughtbot/suspenders/pulls/comments/{number}","comments_url":"https://api.github.com/repos/thoughtbot/suspenders/issues/501/comments","statuses_url":"https://api.github.com/repos/thoughtbot/suspenders/statuses/211517e07ef9238f197fe342a96d92aa3ce45c79","head":{"label":"thoughtbot:ct-unicorn","ref":"ct-unicorn","sha":"211517e07ef9238f197fe342a96d92aa3ce45c79","user":{"login":"thoughtbot","id":6183,"avatar_url":"https://avatars.githubusercontent.com/u/6183?v=3","gravatar_id":"","url":"https://api.github.com/users/thoughtbot","html_url":"https://github.com/thoughtbot","followers_url":"https://api.github.com/users/thoughtbot/followers","following_url":"https://api.github.com/users/thoughtbot/following{/other_user}","gists_url":"https://api.github.com/users/thoughtbot/gists{/gist_id}","starred_url":"https://api.github.com/users/thoughtbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thoughtbot/subscriptions","organizations_url":"https://api.github.com/users/thoughtbot/orgs","repos_url":"https://api.github.com/users/thoughtbot/repos","events_url":"https://api.github.com/users/thoughtbot/events{/privacy}","received_events_url":"https://api.github.com/users/thoughtbot/received_events","type":"Organization","site_admin":false},"repo":{"id":666566,"name":"suspenders","full_name":"thoughtbot/suspenders","owner":{"login":"thoughtbot","id":6183,"avatar_url":"https://avatars.githubusercontent.com/u/6183?v=3","gravatar_id":"","url":"https://api.github.com/users/thoughtbot","html_url":"https://github.com/thoughtbot","followers_url":"https://api.github.com/users/thoughtbot/followers","following_url":"https://api.github.com/users/thoughtbot/following{/other_user}","gists_url":"https://api.github.com/users/thoughtbot/gists{/gist_id}","starred_url":"https://api.github.com/users/thoughtbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thoughtbot/subscriptions","organizations_url":"https://api.github.com/users/thoughtbot/orgs","repos_url":"https://api.github.com/users/thoughtbot/repos","events_url":"https://api.github.com/users/thoughtbot/events{/privacy}","received_events_url":"https://api.github.com/users/thoughtbot/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/thoughtbot/suspenders","description":"A Rails template with our standard defaults, ready to deploy to Heroku.","fork":false,"url":"https://api.github.com/repos/thoughtbot/suspenders","forks_url":"https://api.github.com/repos/thoughtbot/suspenders/forks","keys_url":"https://api.github.com/repos/thoughtbot/suspenders/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thoughtbot/suspenders/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thoughtbot/suspenders/teams","hooks_url":"https://api.github.com/repos/thoughtbot/suspenders/hooks","issue_events_url":"https://api.github.com/repos/thoughtbot/suspenders/issues/events{/number}","events_url":"https://api.github.com/repos/thoughtbot/suspenders/events","assignees_url":"https://api.github.com/repos/thoughtbot/suspenders/assignees{/user}","branches_url":"https://api.github.com/repos/thoughtbot/suspenders/branches{/branch}","tags_url":"https://api.github.com/repos/thoughtbot/suspenders/tags","blobs_url":"https://api.github.com/repos/thoughtbot/suspenders/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thoughtbot/suspenders/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thoughtbot/suspenders/git/refs{/sha}","trees_url":"https://api.github.com/repos/thoughtbot/suspenders/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thoughtbot/suspenders/statuses/{sha}","languages_url":"https://api.github.com/repos/thoughtbot/suspenders/languages","stargazers_url":"https://api.github.com/repos/thoughtbot/suspenders/stargazers","contributors_url":"https://api.github.com/repos/thoughtbot/suspenders/contributors","subscribers_url":"https://api.github.com/repos/thoughtbot/suspenders/subscribers","subscription_url":"https://api.github.com/repos/thoughtbot/suspenders/subscription","commits_url":"https://api.github.com/repos/thoughtbot/suspenders/commits{/sha}","git_commits_url":"https://api.github.com/repos/thoughtbot/suspenders/git/commits{/sha}","comments_url":"https://api.github.com/repos/thoughtbot/suspenders/comments{/number}","issue_comment_url":"https://api.github.com/repos/thoughtbot/suspenders/issues/comments/{number}","contents_url":"https://api.github.com/repos/thoughtbot/suspenders/contents/{+path}","compare_url":"https://api.github.com/repos/thoughtbot/suspenders/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thoughtbot/suspenders/merges","archive_url":"https://api.github.com/repos/thoughtbot/suspenders/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thoughtbot/suspenders/downloads","issues_url":"https://api.github.com/repos/thoughtbot/suspenders/issues{/number}","pulls_url":"https://api.github.com/repos/thoughtbot/suspenders/pulls{/number}","milestones_url":"https://api.github.com/repos/thoughtbot/suspenders/milestones{/number}","notifications_url":"https://api.github.com/repos/thoughtbot/suspenders/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thoughtbot/suspenders/labels{/name}","releases_url":"https://api.github.com/repos/thoughtbot/suspenders/releases{/id}","created_at":"2010-05-14T14:34:46Z","updated_at":"2015-01-27T06:48:58Z","pushed_at":"2015-01-27T01:22:12Z","git_url":"git://github.com/thoughtbot/suspenders.git","ssh_url":"git@github.com:thoughtbot/suspenders.git","clone_url":"https://github.com/thoughtbot/suspenders.git","svn_url":"https://github.com/thoughtbot/suspenders","homepage":"","size":4749,"stargazers_count":1573,"watchers_count":1573,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":255,"mirror_url":null,"open_issues_count":12,"forks":255,"open_issues":12,"watchers":1573,"default_branch":"master"}},"base":{"label":"thoughtbot:master","ref":"master","sha":"500f1a6b568fcd69a149d159f41908d6b4edfbf1","user":{"login":"thoughtbot","id":6183,"avatar_url":"https://avatars.githubusercontent.com/u/6183?v=3","gravatar_id":"","url":"https://api.github.com/users/thoughtbot","html_url":"https://github.com/thoughtbot","followers_url":"https://api.github.com/users/thoughtbot/followers","following_url":"https://api.github.com/users/thoughtbot/following{/other_user}","gists_url":"https://api.github.com/users/thoughtbot/gists{/gist_id}","starred_url":"https://api.github.com/users/thoughtbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thoughtbot/subscriptions","organizations_url":"https://api.github.com/users/thoughtbot/orgs","repos_url":"https://api.github.com/users/thoughtbot/repos","events_url":"https://api.github.com/users/thoughtbot/events{/privacy}","received_events_url":"https://api.github.com/users/thoughtbot/received_events","type":"Organization","site_admin":false},"repo":{"id":666566,"name":"suspenders","full_name":"thoughtbot/suspenders","owner":{"login":"thoughtbot","id":6183,"avatar_url":"https://avatars.githubusercontent.com/u/6183?v=3","gravatar_id":"","url":"https://api.github.com/users/thoughtbot","html_url":"https://github.com/thoughtbot","followers_url":"https://api.github.com/users/thoughtbot/followers","following_url":"https://api.github.com/users/thoughtbot/following{/other_user}","gists_url":"https://api.github.com/users/thoughtbot/gists{/gist_id}","starred_url":"https://api.github.com/users/thoughtbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thoughtbot/subscriptions","organizations_url":"https://api.github.com/users/thoughtbot/orgs","repos_url":"https://api.github.com/users/thoughtbot/repos","events_url":"https://api.github.com/users/thoughtbot/events{/privacy}","received_events_url":"https://api.github.com/users/thoughtbot/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/thoughtbot/suspenders","description":"A Rails template with our standard defaults, ready to deploy to Heroku.","fork":false,"url":"https://api.github.com/repos/thoughtbot/suspenders","forks_url":"https://api.github.com/repos/thoughtbot/suspenders/forks","keys_url":"https://api.github.com/repos/thoughtbot/suspenders/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thoughtbot/suspenders/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thoughtbot/suspenders/teams","hooks_url":"https://api.github.com/repos/thoughtbot/suspenders/hooks","issue_events_url":"https://api.github.com/repos/thoughtbot/suspenders/issues/events{/number}","events_url":"https://api.github.com/repos/thoughtbot/suspenders/events","assignees_url":"https://api.github.com/repos/thoughtbot/suspenders/assignees{/user}","branches_url":"https://api.github.com/repos/thoughtbot/suspenders/branches{/branch}","tags_url":"https://api.github.com/repos/thoughtbot/suspenders/tags","blobs_url":"https://api.github.com/repos/thoughtbot/suspenders/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thoughtbot/suspenders/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thoughtbot/suspenders/git/refs{/sha}","trees_url":"https://api.github.com/repos/thoughtbot/suspenders/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thoughtbot/suspenders/statuses/{sha}","languages_url":"https://api.github.com/repos/thoughtbot/suspenders/languages","stargazers_url":"https://api.github.com/repos/thoughtbot/suspenders/stargazers","contributors_url":"https://api.github.com/repos/thoughtbot/suspenders/contributors","subscribers_url":"https://api.github.com/repos/thoughtbot/suspenders/subscribers","subscription_url":"https://api.github.com/repos/thoughtbot/suspenders/subscription","commits_url":"https://api.github.com/repos/thoughtbot/suspenders/commits{/sha}","git_commits_url":"https://api.github.com/repos/thoughtbot/suspenders/git/commits{/sha}","comments_url":"https://api.github.com/repos/thoughtbot/suspenders/comments{/number}","issue_comment_url":"https://api.github.com/repos/thoughtbot/suspenders/issues/comments/{number}","contents_url":"https://api.github.com/repos/thoughtbot/suspenders/contents/{+path}","compare_url":"https://api.github.com/repos/thoughtbot/suspenders/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thoughtbot/suspenders/merges","archive_url":"https://api.github.com/repos/thoughtbot/suspenders/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thoughtbot/suspenders/downloads","issues_url":"https://api.github.com/repos/thoughtbot/suspenders/issues{/number}","pulls_url":"https://api.github.com/repos/thoughtbot/suspenders/pulls{/number}","milestones_url":"https://api.github.com/repos/thoughtbot/suspenders/milestones{/number}","notifications_url":"https://api.github.com/repos/thoughtbot/suspenders/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thoughtbot/suspenders/labels{/name}","releases_url":"https://api.github.com/repos/thoughtbot/suspenders/releases{/id}","created_at":"2010-05-14T14:34:46Z","updated_at":"2015-01-27T06:48:58Z","pushed_at":"2015-01-27T01:22:12Z","git_url":"git://github.com/thoughtbot/suspenders.git","ssh_url":"git@github.com:thoughtbot/suspenders.git","clone_url":"https://github.com/thoughtbot/suspenders.git","svn_url":"https://github.com/thoughtbot/suspenders","homepage":"","size":4749,"stargazers_count":1573,"watchers_count":1573,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":255,"mirror_url":null,"open_issues_count":12,"forks":255,"open_issues":12,"watchers":1573,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501"},"html":{"href":"https://github.com/thoughtbot/suspenders/pull/501"},"issue":{"href":"https://api.github.com/repos/thoughtbot/suspenders/issues/501"},"comments":{"href":"https://api.github.com/repos/thoughtbot/suspenders/issues/501/comments"},"review_comments":{"href":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501/comments"},"review_comment":{"href":"https://api.github.com/repos/thoughtbot/suspenders/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/thoughtbot/suspenders/pulls/501/commits"},"statuses":{"href":"https://api.github.com/repos/thoughtbot/suspenders/statuses/211517e07ef9238f197fe342a96d92aa3ce45c79"}}}}