)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cee3820f92a74edf6c70b57e7b2a91c39c0db57d","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The decision to use \u0027task_args\u0027 instead of just slurping in all extra"},{"line_number":17,"context_line":"constructor parameters was a conscious one, but one that we may want"},{"line_number":18,"context_line":"to back down on in the future."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I315e8c2ea1e5d303572f3721ef9ea55c540d88d8"},{"line_number":21,"context_line":"Implements: blueprint wbe-workers-endpoints-constructors"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7adec928_f624ddc7","line":18,"updated":"2014-05-22 17:50:22.000000000","message":"Probably also useful to mention that these \u0027task_args\u0027 will not be persisted, and if automated resumption occurs, that there factory that will be called to reconstruct the flow will need to ensure it populates these values, otherwise it likely won\u0027t end well.","commit_id":"61e41ec96ea208a4bb5b45f92fe65b5b45e2a1b8"}],"taskflow/task.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cee3820f92a74edf6c70b57e7b2a91c39c0db57d","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    TASK_EVENTS \u003d (\u0027update_progress\u0027, )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def __init__(self, name, provides\u003dNone, task_args\u003dNone):"},{"line_number":40,"context_line":"        if name is None:"},{"line_number":41,"context_line":"            name \u003d reflection.get_class_name(self)"},{"line_number":42,"context_line":"        super(BaseTask, self).__init__(name, provides)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_f185c707","line":39,"updated":"2014-05-22 17:50:22.000000000","message":"I\u0027m wondering if we can think of a different name for \u0027task_args\u0027, to not confuse it with the args that \u0027requires\u0027 establishes. Something about the overlap of \u0027task_args\u0027 and execute() \u0027args\u0027 worries me and makes me wonder if this will be to confusing for users to understand when they should use one vs when they should use the other. Any ideas?","commit_id":"61e41ec96ea208a4bb5b45f92fe65b5b45e2a1b8"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cee3820f92a74edf6c70b57e7b2a91c39c0db57d","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        super(BaseTask, self).__init__(name, provides)"},{"line_number":43,"context_line":"        # Map of events \u003d\u003e lists of callbacks to invoke on task events."},{"line_number":44,"context_line":"        self._events_listeners \u003d collections.defaultdict(list)"},{"line_number":45,"context_line":"        self.task_args \u003d task_args"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @abc.abstractmethod"},{"line_number":48,"context_line":"    def execute(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_11ceb383","line":45,"updated":"2014-05-22 17:50:22.000000000","message":"Can we make this a variable that starts with \"_\", it doesn\u0027t seem like u would want this attribute to be publicly mutable. Another suggestion is that maybe we should say the type of this should be https://github.com/openstack/taskflow/blob/master/taskflow/utils/misc.py#L329\n\nThat would allow for serialization (since its a dict) and also simple attribute access, like self._task_args.a +\u003d1 for example (without having to use the [\u0027a\u0027] format.","commit_id":"61e41ec96ea208a4bb5b45f92fe65b5b45e2a1b8"}],"taskflow/types/graph.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cee3820f92a74edf6c70b57e7b2a91c39c0db57d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            # and see if any graph results."},{"line_number":113,"context_line":"            overlaps \u003d graph.subgraph(g.nodes_iter())"},{"line_number":114,"context_line":"            if len(overlaps):"},{"line_number":115,"context_line":"                raise ValueError(\"Can not merge graph %s into %s since there \""},{"line_number":116,"context_line":"                                 \"are %s overlapping nodes\" % (g, graph,"},{"line_number":117,"context_line":"                                                               len(overlaps)))"},{"line_number":118,"context_line":"        # Keep the target graphs name."}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_7171b743","line":115,"updated":"2014-05-22 17:50:22.000000000","message":"Eck, thanks, let me submit this as a separate patch so can be merged quickly (not have to wait on the discussion for this review to get merged) since it seems like a oopsies that should be fixed soon.","commit_id":"61e41ec96ea208a4bb5b45f92fe65b5b45e2a1b8"}]}
