{"action":"closed","number":20,"pull_request":{"url":"https://api.github.com/repos/Elastica/kombu/pulls/20","id":38066094,"html_url":"https://github.com/Elastica/kombu/pull/20","diff_url":"https://github.com/Elastica/kombu/pull/20.diff","patch_url":"https://github.com/Elastica/kombu/pull/20.patch","issue_url":"https://api.github.com/repos/Elastica/kombu/issues/20","number":20,"state":"closed","locked":false,"title":"refs #22135 changed per-QOS logic to use pool pre-instantiated process","user":{"login":"jkothamb","id":5266692,"avatar_url":"https://avatars.githubusercontent.com/u/5266692?v=3","gravatar_id":"","url":"https://api.github.com/users/jkothamb","html_url":"https://github.com/jkothamb","followers_url":"https://api.github.com/users/jkothamb/followers","following_url":"https://api.github.com/users/jkothamb/following{/other_user}","gists_url":"https://api.github.com/users/jkothamb/gists{/gist_id}","starred_url":"https://api.github.com/users/jkothamb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkothamb/subscriptions","organizations_url":"https://api.github.com/users/jkothamb/orgs","repos_url":"https://api.github.com/users/jkothamb/repos","events_url":"https://api.github.com/users/jkothamb/events{/privacy}","received_events_url":"https://api.github.com/users/jkothamb/received_events","type":"User","site_admin":false},"body":"In production, seeing growth in memory consumption of the main celery process. Putting memory profile didn't indicate any memory leak. Since the main celery process forks tenant poller that per-tenant QOS, the child process inherits the memory of the parent process which basically double the memory usage. The new approach taken is to use a python multi-processing pool with just a single process. The pool is instantiated on startup of the celery workers. The tenant poller task is given to this pool process for performing the per-tenant QOS logic.","created_at":"2015-06-19T00:05:16Z","updated_at":"2015-06-29T23:48:18Z","closed_at":"2015-06-29T23:48:18Z","merged_at":"2015-06-29T23:48:18Z","merge_commit_sha":"54434fa054b0adce89295c535da52a91c0464400","assignee":{"login":"ChaksChigurupati","id":1891843,"avatar_url":"https://avatars.githubusercontent.com/u/1891843?v=3","gravatar_id":"","url":"https://api.github.com/users/ChaksChigurupati","html_url":"https://github.com/ChaksChigurupati","followers_url":"https://api.github.com/users/ChaksChigurupati/followers","following_url":"https://api.github.com/users/ChaksChigurupati/following{/other_user}","gists_url":"https://api.github.com/users/ChaksChigurupati/gists{/gist_id}","starred_url":"https://api.github.com/users/ChaksChigurupati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChaksChigurupati/subscriptions","organizations_url":"https://api.github.com/users/ChaksChigurupati/orgs","repos_url":"https://api.github.com/users/ChaksChigurupati/repos","events_url":"https://api.github.com/users/ChaksChigurupati/events{/privacy}","received_events_url":"https://api.github.com/users/ChaksChigurupati/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/Elastica/kombu/pulls/20/commits","review_comments_url":"https://api.github.com/repos/Elastica/kombu/pulls/20/comments","review_comment_url":"https://api.github.com/repos/Elastica/kombu/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Elastica/kombu/issues/20/comments","statuses_url":"https://api.github.com/repos/Elastica/kombu/statuses/26438a252fc3909a132e2e2c6d33ae1d1e96f3cd","head":{"label":"Elastica:pvt-jk-22135","ref":"pvt-jk-22135","sha":"26438a252fc3909a132e2e2c6d33ae1d1e96f3cd","user":{"login":"Elastica","id":1830374,"avatar_url":"https://avatars.githubusercontent.com/u/1830374?v=3","gravatar_id":"","url":"https://api.github.com/users/Elastica","html_url":"https://github.com/Elastica","followers_url":"https://api.github.com/users/Elastica/followers","following_url":"https://api.github.com/users/Elastica/following{/other_user}","gists_url":"https://api.github.com/users/Elastica/gists{/gist_id}","starred_url":"https://api.github.com/users/Elastica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Elastica/subscriptions","organizations_url":"https://api.github.com/users/Elastica/orgs","repos_url":"https://api.github.com/users/Elastica/repos","events_url":"https://api.github.com/users/Elastica/events{/privacy}","received_events_url":"https://api.github.com/users/Elastica/received_events","type":"Organization","site_admin":false},"repo":{"id":22484914,"name":"kombu","full_name":"Elastica/kombu","owner":{"login":"Elastica","id":1830374,"avatar_url":"https://avatars.githubusercontent.com/u/1830374?v=3","gravatar_id":"","url":"https://api.github.com/users/Elastica","html_url":"https://github.com/Elastica","followers_url":"https://api.github.com/users/Elastica/followers","following_url":"https://api.github.com/users/Elastica/following{/other_user}","gists_url":"https://api.github.com/users/Elastica/gists{/gist_id}","starred_url":"https://api.github.com/users/Elastica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Elastica/subscriptions","organizations_url":"https://api.github.com/users/Elastica/orgs","repos_url":"https://api.github.com/users/Elastica/repos","events_url":"https://api.github.com/users/Elastica/events{/privacy}","received_events_url":"https://api.github.com/users/Elastica/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Elastica/kombu","description":"Messaging library for Python.","fork":true,"url":"https://api.github.com/repos/Elastica/kombu","forks_url":"https://api.github.com/repos/Elastica/kombu/forks","keys_url":"https://api.github.com/repos/Elastica/kombu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Elastica/kombu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Elastica/kombu/teams","hooks_url":"https://api.github.com/repos/Elastica/kombu/hooks","issue_events_url":"https://api.github.com/repos/Elastica/kombu/issues/events{/number}","events_url":"https://api.github.com/repos/Elastica/kombu/events","assignees_url":"https://api.github.com/repos/Elastica/kombu/assignees{/user}","branches_url":"https://api.github.com/repos/Elastica/kombu/branches{/branch}","tags_url":"https://api.github.com/repos/Elastica/kombu/tags","blobs_url":"https://api.github.com/repos/Elastica/kombu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Elastica/kombu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Elastica/kombu/git/refs{/sha}","trees_url":"https://api.github.com/repos/Elastica/kombu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Elastica/kombu/statuses/{sha}","languages_url":"https://api.github.com/repos/Elastica/kombu/languages","stargazers_url":"https://api.github.com/repos/Elastica/kombu/stargazers","contributors_url":"https://api.github.com/repos/Elastica/kombu/contributors","subscribers_url":"https://api.github.com/repos/Elastica/kombu/subscribers","subscription_url":"https://api.github.com/repos/Elastica/kombu/subscription","commits_url":"https://api.github.com/repos/Elastica/kombu/commits{/sha}","git_commits_url":"https://api.github.com/repos/Elastica/kombu/git/commits{/sha}","comments_url":"https://api.github.com/repos/Elastica/kombu/comments{/number}","issue_comment_url":"https://api.github.com/repos/Elastica/kombu/issues/comments{/number}","contents_url":"https://api.github.com/repos/Elastica/kombu/contents/{+path}","compare_url":"https://api.github.com/repos/Elastica/kombu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Elastica/kombu/merges","archive_url":"https://api.github.com/repos/Elastica/kombu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Elastica/kombu/downloads","issues_url":"https://api.github.com/repos/Elastica/kombu/issues{/number}","pulls_url":"https://api.github.com/repos/Elastica/kombu/pulls{/number}","milestones_url":"https://api.github.com/repos/Elastica/kombu/milestones{/number}","notifications_url":"https://api.github.com/repos/Elastica/kombu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Elastica/kombu/labels{/name}","releases_url":"https://api.github.com/repos/Elastica/kombu/releases{/id}","created_at":"2014-07-31T21:02:52Z","updated_at":"2014-07-28T16:02:17Z","pushed_at":"2015-06-29T23:48:18Z","git_url":"git://github.com/Elastica/kombu.git","ssh_url":"git@github.com:Elastica/kombu.git","clone_url":"https://github.com/Elastica/kombu.git","svn_url":"https://github.com/Elastica/kombu","homepage":"http://kombu.readthedocs.org/","size":7366,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Elastica:2.5","ref":"2.5","sha":"2c92ce4f28607c2625c229853888d9d9e56e691c","user":{"login":"Elastica","id":1830374,"avatar_url":"https://avatars.githubusercontent.com/u/1830374?v=3","gravatar_id":"","url":"https://api.github.com/users/Elastica","html_url":"https://github.com/Elastica","followers_url":"https://api.github.com/users/Elastica/followers","following_url":"https://api.github.com/users/Elastica/following{/other_user}","gists_url":"https://api.github.com/users/Elastica/gists{/gist_id}","starred_url":"https://api.github.com/users/Elastica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Elastica/subscriptions","organizations_url":"https://api.github.com/users/Elastica/orgs","repos_url":"https://api.github.com/users/Elastica/repos","events_url":"https://api.github.com/users/Elastica/events{/privacy}","received_events_url":"https://api.github.com/users/Elastica/received_events","type":"Organization","site_admin":false},"repo":{"id":22484914,"name":"kombu","full_name":"Elastica/kombu","owner":{"login":"Elastica","id":1830374,"avatar_url":"https://avatars.githubusercontent.com/u/1830374?v=3","gravatar_id":"","url":"https://api.github.com/users/Elastica","html_url":"https://github.com/Elastica","followers_url":"https://api.github.com/users/Elastica/followers","following_url":"https://api.github.com/users/Elastica/following{/other_user}","gists_url":"https://api.github.com/users/Elastica/gists{/gist_id}","starred_url":"https://api.github.com/users/Elastica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Elastica/subscriptions","organizations_url":"https://api.github.com/users/Elastica/orgs","repos_url":"https://api.github.com/users/Elastica/repos","events_url":"https://api.github.com/users/Elastica/events{/privacy}","received_events_url":"https://api.github.com/users/Elastica/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Elastica/kombu","description":"Messaging library for Python.","fork":true,"url":"https://api.github.com/repos/Elastica/kombu","forks_url":"https://api.github.com/repos/Elastica/kombu/forks","keys_url":"https://api.github.com/repos/Elastica/kombu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Elastica/kombu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Elastica/kombu/teams","hooks_url":"https://api.github.com/repos/Elastica/kombu/hooks","issue_events_url":"https://api.github.com/repos/Elastica/kombu/issues/events{/number}","events_url":"https://api.github.com/repos/Elastica/kombu/events","assignees_url":"https://api.github.com/repos/Elastica/kombu/assignees{/user}","branches_url":"https://api.github.com/repos/Elastica/kombu/branches{/branch}","tags_url":"https://api.github.com/repos/Elastica/kombu/tags","blobs_url":"https://api.github.com/repos/Elastica/kombu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Elastica/kombu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Elastica/kombu/git/refs{/sha}","trees_url":"https://api.github.com/repos/Elastica/kombu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Elastica/kombu/statuses/{sha}","languages_url":"https://api.github.com/repos/Elastica/kombu/languages","stargazers_url":"https://api.github.com/repos/Elastica/kombu/stargazers","contributors_url":"https://api.github.com/repos/Elastica/kombu/contributors","subscribers_url":"https://api.github.com/repos/Elastica/kombu/subscribers","subscription_url":"https://api.github.com/repos/Elastica/kombu/subscription","commits_url":"https://api.github.com/repos/Elastica/kombu/commits{/sha}","git_commits_url":"https://api.github.com/repos/Elastica/kombu/git/commits{/sha}","comments_url":"https://api.github.com/repos/Elastica/kombu/comments{/number}","issue_comment_url":"https://api.github.com/repos/Elastica/kombu/issues/comments{/number}","contents_url":"https://api.github.com/repos/Elastica/kombu/contents/{+path}","compare_url":"https://api.github.com/repos/Elastica/kombu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Elastica/kombu/merges","archive_url":"https://api.github.com/repos/Elastica/kombu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Elastica/kombu/downloads","issues_url":"https://api.github.com/repos/Elastica/kombu/issues{/number}","pulls_url":"https://api.github.com/repos/Elastica/kombu/pulls{/number}","milestones_url":"https://api.github.com/repos/Elastica/kombu/milestones{/number}","notifications_url":"https://api.github.com/repos/Elastica/kombu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Elastica/kombu/labels{/name}","releases_url":"https://api.github.com/repos/Elastica/kombu/releases{/id}","created_at":"2014-07-31T21:02:52Z","updated_at":"2014-07-28T16:02:17Z","pushed_at":"2015-06-29T23:48:18Z","git_url":"git://github.com/Elastica/kombu.git","ssh_url":"git@github.com:Elastica/kombu.git","clone_url":"https://github.com/Elastica/kombu.git","svn_url":"https://github.com/Elastica/kombu","homepage":"http://kombu.readthedocs.org/","size":7366,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Elastica/kombu/pulls/20"},"html":{"href":"https://github.com/Elastica/kombu/pull/20"},"issue":{"href":"https://api.github.com/repos/Elastica/kombu/issues/20"},"comments":{"href":"https://api.github.com/repos/Elastica/kombu/issues/20/comments"},"review_comments":{"href":"https://api.github.com/repos/Elastica/kombu/pulls/20/comments"},"review_comment":{"href":"https://api.github.com/repos/Elastica/kombu/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Elastica/kombu/pulls/20/commits"},"statuses":{"href":"https://api.github.com/repos/Elastica/kombu/statuses/26438a252fc3909a132e2e2c6d33ae1d1e96f3cd"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"ChaksChigurupati","id":1891843,"avatar_url":"https://avatars.githubusercontent.com/u/1891843?v=3","gravatar_id":"","url":"https://api.github.com/users/ChaksChigurupati","html_url":"https://github.com/ChaksChigurupati","followers_url":"https://api.github.com/users/ChaksChigurupati/followers","following_url":"https://api.github.com/users/ChaksChigurupati/following{/other_user}","gists_url":"https://api.github.com/users/ChaksChigurupati/gists{/gist_id}","starred_url":"https://api.github.com/users/ChaksChigurupati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChaksChigurupati/subscriptions","organizations_url":"https://api.github.com/users/ChaksChigurupati/orgs","repos_url":"https://api.github.com/users/ChaksChigurupati/repos","events_url":"https://api.github.com/users/ChaksChigurupati/events{/privacy}","received_events_url":"https://api.github.com/users/ChaksChigurupati/received_events","type":"User","site_admin":false},"comments":6,"review_comments":2,"commits":5,"additions":73,"deletions":37,"changed_files":1}}