{"action":"created","issue":{"url":"https://api.github.com/repos/spotify/luigi/issues/686","labels_url":"https://api.github.com/repos/spotify/luigi/issues/686/labels{/name}","comments_url":"https://api.github.com/repos/spotify/luigi/issues/686/comments","events_url":"https://api.github.com/repos/spotify/luigi/issues/686/events","html_url":"https://github.com/spotify/luigi/pull/686","id":56021601,"number":686,"title":"Cascade the DISABLED state if all dependencies are either DISABLED/DONE ...","user":{"login":"boosh","id":362148,"avatar_url":"https://avatars.githubusercontent.com/u/362148?v=3","gravatar_id":"","url":"https://api.github.com/users/boosh","html_url":"https://github.com/boosh","followers_url":"https://api.github.com/users/boosh/followers","following_url":"https://api.github.com/users/boosh/following{/other_user}","gists_url":"https://api.github.com/users/boosh/gists{/gist_id}","starred_url":"https://api.github.com/users/boosh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boosh/subscriptions","organizations_url":"https://api.github.com/users/boosh/orgs","repos_url":"https://api.github.com/users/boosh/repos","events_url":"https://api.github.com/users/boosh/events{/privacy}","received_events_url":"https://api.github.com/users/boosh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-01-30T11:13:56Z","updated_at":"2015-03-10T12:24:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spotify/luigi/pulls/686","html_url":"https://github.com/spotify/luigi/pull/686","diff_url":"https://github.com/spotify/luigi/pull/686.diff","patch_url":"https://github.com/spotify/luigi/pull/686.patch"},"body":"...and at least one is DISABLED.\r\n\r\nThis PR will set a task to be DISABLED if any of its dependencies are DISABLED, and the rest are either DISABLED or DONE.\r\n\r\nThis allows workers to terminate when something is DISABLED, even if worker keep-alives are enabled. WIthout this patch, keep-alive workers never terminate even if tasks are DISABLED, effectively causing the workflow to hang.\r\n\r\nThe approach taken here means that as much work as possible is done, and only the critical path is disabled (i.e. we \"fail slow\" instead of immediately bailing out if anything gets DISABLED).\r\n\r\nThis sort of relates to #331 but not exactly, but does address the note at the end of #684."},"comment":{"url":"https://api.github.com/repos/spotify/luigi/issues/comments/78043116","html_url":"https://github.com/spotify/luigi/pull/686#issuecomment-78043116","issue_url":"https://api.github.com/repos/spotify/luigi/issues/686","id":78043116,"user":{"login":"boosh","id":362148,"avatar_url":"https://avatars.githubusercontent.com/u/362148?v=3","gravatar_id":"","url":"https://api.github.com/users/boosh","html_url":"https://github.com/boosh","followers_url":"https://api.github.com/users/boosh/followers","following_url":"https://api.github.com/users/boosh/following{/other_user}","gists_url":"https://api.github.com/users/boosh/gists{/gist_id}","starred_url":"https://api.github.com/users/boosh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boosh/subscriptions","organizations_url":"https://api.github.com/users/boosh/orgs","repos_url":"https://api.github.com/users/boosh/repos","events_url":"https://api.github.com/users/boosh/events{/privacy}","received_events_url":"https://api.github.com/users/boosh/received_events","type":"User","site_admin":false},"created_at":"2015-03-10T12:24:29Z","updated_at":"2015-03-10T12:24:29Z","body":"I can work around this for now by running a cron job that checks that the final output of a job was created by a certain time, so if other people think this may complicate how luigi currently works, we should leave it for now."}}