{"action":"closed","number":1318,"pull_request":{"url":"https://api.github.com/repos/celery/celery/pulls/1318","id":5304037,"html_url":"https://github.com/celery/celery/pull/1318","diff_url":"https://github.com/celery/celery/pull/1318.diff","patch_url":"https://github.com/celery/celery/pull/1318.patch","issue_url":"https://api.github.com/repos/celery/celery/issues/1318","number":1318,"state":"closed","locked":false,"title":"Feature: Add a 'root_id' task option to track related canvas tasks","user":{"login":"chrisw1229","id":1657910,"avatar_url":"https://avatars.githubusercontent.com/u/1657910?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisw1229","html_url":"https://github.com/chrisw1229","followers_url":"https://api.github.com/users/chrisw1229/followers","following_url":"https://api.github.com/users/chrisw1229/following{/other_user}","gists_url":"https://api.github.com/users/chrisw1229/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisw1229/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisw1229/subscriptions","organizations_url":"https://api.github.com/users/chrisw1229/orgs","repos_url":"https://api.github.com/users/chrisw1229/repos","events_url":"https://api.github.com/users/chrisw1229/events{/privacy}","received_events_url":"https://api.github.com/users/chrisw1229/received_events","type":"User","site_admin":false},"body":"I know this still needs work (docs/testing), but I wanted to get a first impression of whether the approach looks good or not.\r\n\r\nAlso a couple questions I had during the implementation:\r\n1.) Should the backend support this directly? At the moment I wrote a custom backend that uses current_task.request.root_id in order to save the extra field with my models without breaking the API.\r\n2.) Should the signals callbacks support this? I could see it being useful, but again it could be API breaking so I left it out.","created_at":"2013-04-22T22:13:50Z","updated_at":"2015-11-05T02:10:40Z","closed_at":"2015-11-05T02:10:40Z","merged_at":null,"merge_commit_sha":"bd83dbcfc3d6b9c49915d1fadf0db2cfb7615f88","assignee":null,"milestone":{"url":"https://api.github.com/repos/celery/celery/milestones/17","html_url":"https://github.com/celery/celery/milestones/v4.0","labels_url":"https://api.github.com/repos/celery/celery/milestones/17/labels","id":308346,"number":17,"title":"v4.0","description":"","creator":{"login":"ask","id":1558,"avatar_url":"https://avatars.githubusercontent.com/u/1558?v=3","gravatar_id":"","url":"https://api.github.com/users/ask","html_url":"https://github.com/ask","followers_url":"https://api.github.com/users/ask/followers","following_url":"https://api.github.com/users/ask/following{/other_user}","gists_url":"https://api.github.com/users/ask/gists{/gist_id}","starred_url":"https://api.github.com/users/ask/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ask/subscriptions","organizations_url":"https://api.github.com/users/ask/orgs","repos_url":"https://api.github.com/users/ask/repos","events_url":"https://api.github.com/users/ask/events{/privacy}","received_events_url":"https://api.github.com/users/ask/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":18,"state":"open","created_at":"2013-04-11T10:46:42Z","updated_at":"2015-11-05T02:10:40Z","due_on":"2014-04-04T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/celery/celery/pulls/1318/commits","review_comments_url":"https://api.github.com/repos/celery/celery/pulls/1318/comments","review_comment_url":"https://api.github.com/repos/celery/celery/pulls/comments{/number}","comments_url":"https://api.github.com/repos/celery/celery/issues/1318/comments","statuses_url":"https://api.github.com/repos/celery/celery/statuses/0efddadabc839f3e18123ca1a5f89c0feb224050","head":{"label":"chrisw1229:root_id","ref":"root_id","sha":"0efddadabc839f3e18123ca1a5f89c0feb224050","user":{"login":"chrisw1229","id":1657910,"avatar_url":"https://avatars.githubusercontent.com/u/1657910?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisw1229","html_url":"https://github.com/chrisw1229","followers_url":"https://api.github.com/users/chrisw1229/followers","following_url":"https://api.github.com/users/chrisw1229/following{/other_user}","gists_url":"https://api.github.com/users/chrisw1229/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisw1229/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisw1229/subscriptions","organizations_url":"https://api.github.com/users/chrisw1229/orgs","repos_url":"https://api.github.com/users/chrisw1229/repos","events_url":"https://api.github.com/users/chrisw1229/events{/privacy}","received_events_url":"https://api.github.com/users/chrisw1229/received_events","type":"User","site_admin":false},"repo":{"id":9609673,"name":"celery","full_name":"chrisw1229/celery","owner":{"login":"chrisw1229","id":1657910,"avatar_url":"https://avatars.githubusercontent.com/u/1657910?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisw1229","html_url":"https://github.com/chrisw1229","followers_url":"https://api.github.com/users/chrisw1229/followers","following_url":"https://api.github.com/users/chrisw1229/following{/other_user}","gists_url":"https://api.github.com/users/chrisw1229/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisw1229/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisw1229/subscriptions","organizations_url":"https://api.github.com/users/chrisw1229/orgs","repos_url":"https://api.github.com/users/chrisw1229/repos","events_url":"https://api.github.com/users/chrisw1229/events{/privacy}","received_events_url":"https://api.github.com/users/chrisw1229/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/chrisw1229/celery","description":"Distributed Task Queue (development branch)","fork":true,"url":"https://api.github.com/repos/chrisw1229/celery","forks_url":"https://api.github.com/repos/chrisw1229/celery/forks","keys_url":"https://api.github.com/repos/chrisw1229/celery/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chrisw1229/celery/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chrisw1229/celery/teams","hooks_url":"https://api.github.com/repos/chrisw1229/celery/hooks","issue_events_url":"https://api.github.com/repos/chrisw1229/celery/issues/events{/number}","events_url":"https://api.github.com/repos/chrisw1229/celery/events","assignees_url":"https://api.github.com/repos/chrisw1229/celery/assignees{/user}","branches_url":"https://api.github.com/repos/chrisw1229/celery/branches{/branch}","tags_url":"https://api.github.com/repos/chrisw1229/celery/tags","blobs_url":"https://api.github.com/repos/chrisw1229/celery/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chrisw1229/celery/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chrisw1229/celery/git/refs{/sha}","trees_url":"https://api.github.com/repos/chrisw1229/celery/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chrisw1229/celery/statuses/{sha}","languages_url":"https://api.github.com/repos/chrisw1229/celery/languages","stargazers_url":"https://api.github.com/repos/chrisw1229/celery/stargazers","contributors_url":"https://api.github.com/repos/chrisw1229/celery/contributors","subscribers_url":"https://api.github.com/repos/chrisw1229/celery/subscribers","subscription_url":"https://api.github.com/repos/chrisw1229/celery/subscription","commits_url":"https://api.github.com/repos/chrisw1229/celery/commits{/sha}","git_commits_url":"https://api.github.com/repos/chrisw1229/celery/git/commits{/sha}","comments_url":"https://api.github.com/repos/chrisw1229/celery/comments{/number}","issue_comment_url":"https://api.github.com/repos/chrisw1229/celery/issues/comments{/number}","contents_url":"https://api.github.com/repos/chrisw1229/celery/contents/{+path}","compare_url":"https://api.github.com/repos/chrisw1229/celery/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chrisw1229/celery/merges","archive_url":"https://api.github.com/repos/chrisw1229/celery/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chrisw1229/celery/downloads","issues_url":"https://api.github.com/repos/chrisw1229/celery/issues{/number}","pulls_url":"https://api.github.com/repos/chrisw1229/celery/pulls{/number}","milestones_url":"https://api.github.com/repos/chrisw1229/celery/milestones{/number}","notifications_url":"https://api.github.com/repos/chrisw1229/celery/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chrisw1229/celery/labels{/name}","releases_url":"https://api.github.com/repos/chrisw1229/celery/releases{/id}","created_at":"2013-04-22T21:48:08Z","updated_at":"2015-03-10T00:44:55Z","pushed_at":"2013-04-22T22:01:03Z","git_url":"git://github.com/chrisw1229/celery.git","ssh_url":"git@github.com:chrisw1229/celery.git","clone_url":"https://github.com/chrisw1229/celery.git","svn_url":"https://github.com/chrisw1229/celery","homepage":"http://celeryproject.org","size":30320,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"celery:3.0","ref":"3.0","sha":"823a163ea8e0b0b229cbddb5664a0749664d6ede","user":{"login":"celery","id":319983,"avatar_url":"https://avatars.githubusercontent.com/u/319983?v=3","gravatar_id":"","url":"https://api.github.com/users/celery","html_url":"https://github.com/celery","followers_url":"https://api.github.com/users/celery/followers","following_url":"https://api.github.com/users/celery/following{/other_user}","gists_url":"https://api.github.com/users/celery/gists{/gist_id}","starred_url":"https://api.github.com/users/celery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/celery/subscriptions","organizations_url":"https://api.github.com/users/celery/orgs","repos_url":"https://api.github.com/users/celery/repos","events_url":"https://api.github.com/users/celery/events{/privacy}","received_events_url":"https://api.github.com/users/celery/received_events","type":"Organization","site_admin":false},"repo":{"id":184460,"name":"celery","full_name":"celery/celery","owner":{"login":"celery","id":319983,"avatar_url":"https://avatars.githubusercontent.com/u/319983?v=3","gravatar_id":"","url":"https://api.github.com/users/celery","html_url":"https://github.com/celery","followers_url":"https://api.github.com/users/celery/followers","following_url":"https://api.github.com/users/celery/following{/other_user}","gists_url":"https://api.github.com/users/celery/gists{/gist_id}","starred_url":"https://api.github.com/users/celery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/celery/subscriptions","organizations_url":"https://api.github.com/users/celery/orgs","repos_url":"https://api.github.com/users/celery/repos","events_url":"https://api.github.com/users/celery/events{/privacy}","received_events_url":"https://api.github.com/users/celery/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/celery/celery","description":"Distributed Task Queue (development branch)","fork":false,"url":"https://api.github.com/repos/celery/celery","forks_url":"https://api.github.com/repos/celery/celery/forks","keys_url":"https://api.github.com/repos/celery/celery/keys{/key_id}","collaborators_url":"https://api.github.com/repos/celery/celery/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/celery/celery/teams","hooks_url":"https://api.github.com/repos/celery/celery/hooks","issue_events_url":"https://api.github.com/repos/celery/celery/issues/events{/number}","events_url":"https://api.github.com/repos/celery/celery/events","assignees_url":"https://api.github.com/repos/celery/celery/assignees{/user}","branches_url":"https://api.github.com/repos/celery/celery/branches{/branch}","tags_url":"https://api.github.com/repos/celery/celery/tags","blobs_url":"https://api.github.com/repos/celery/celery/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/celery/celery/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/celery/celery/git/refs{/sha}","trees_url":"https://api.github.com/repos/celery/celery/git/trees{/sha}","statuses_url":"https://api.github.com/repos/celery/celery/statuses/{sha}","languages_url":"https://api.github.com/repos/celery/celery/languages","stargazers_url":"https://api.github.com/repos/celery/celery/stargazers","contributors_url":"https://api.github.com/repos/celery/celery/contributors","subscribers_url":"https://api.github.com/repos/celery/celery/subscribers","subscription_url":"https://api.github.com/repos/celery/celery/subscription","commits_url":"https://api.github.com/repos/celery/celery/commits{/sha}","git_commits_url":"https://api.github.com/repos/celery/celery/git/commits{/sha}","comments_url":"https://api.github.com/repos/celery/celery/comments{/number}","issue_comment_url":"https://api.github.com/repos/celery/celery/issues/comments{/number}","contents_url":"https://api.github.com/repos/celery/celery/contents/{+path}","compare_url":"https://api.github.com/repos/celery/celery/compare/{base}...{head}","merges_url":"https://api.github.com/repos/celery/celery/merges","archive_url":"https://api.github.com/repos/celery/celery/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/celery/celery/downloads","issues_url":"https://api.github.com/repos/celery/celery/issues{/number}","pulls_url":"https://api.github.com/repos/celery/celery/pulls{/number}","milestones_url":"https://api.github.com/repos/celery/celery/milestones{/number}","notifications_url":"https://api.github.com/repos/celery/celery/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/celery/celery/labels{/name}","releases_url":"https://api.github.com/repos/celery/celery/releases{/id}","created_at":"2009-04-24T11:31:24Z","updated_at":"2015-11-05T00:22:16Z","pushed_at":"2015-11-05T02:10:36Z","git_url":"git://github.com/celery/celery.git","ssh_url":"git@github.com:celery/celery.git","clone_url":"https://github.com/celery/celery.git","svn_url":"https://github.com/celery/celery","homepage":"http://celeryproject.org","size":55821,"stargazers_count":4054,"watchers_count":4054,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1393,"mirror_url":null,"open_issues_count":398,"forks":1393,"open_issues":398,"watchers":4054,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/celery/celery/pulls/1318"},"html":{"href":"https://github.com/celery/celery/pull/1318"},"issue":{"href":"https://api.github.com/repos/celery/celery/issues/1318"},"comments":{"href":"https://api.github.com/repos/celery/celery/issues/1318/comments"},"review_comments":{"href":"https://api.github.com/repos/celery/celery/pulls/1318/comments"},"review_comment":{"href":"https://api.github.com/repos/celery/celery/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/celery/celery/pulls/1318/commits"},"statuses":{"href":"https://api.github.com/repos/celery/celery/statuses/0efddadabc839f3e18123ca1a5f89c0feb224050"}},"merged":false,"mergeable":false,"mergeable_state":"dirty","merged_by":null,"comments":13,"review_comments":0,"commits":1,"additions":125,"deletions":41,"changed_files":10}}