)]}'
{"doc/source/states.rst":[{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":145,"context_line":"raises an exception), the task goes to the ``FAILURE`` state (if it was"},{"line_number":146,"context_line":"already in the ``FAILURE`` state then this is a no-op)."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"**REVERTED** - A task that has been reverted successfully appears in"},{"line_number":149,"context_line":"this state (ie no exception/s were raised during running"},{"line_number":150,"context_line":"its :py:meth:`~taskflow.task.BaseTask.revert` method)."},{"line_number":151,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_6a0d0f8e","line":148,"updated":"2015-06-24 16:33:44.000000000","message":"The engine running the task transitions the task to this state after it has successfully reverted the task","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"ed02ed0b68c0443f6c69f337c0f1fc1d9dab07a7","unresolved":false,"context_lines":[{"line_number":145,"context_line":"raises an exception), the task goes to the ``FAILURE`` state (if it was"},{"line_number":146,"context_line":"already in the ``FAILURE`` state then this is a no-op)."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"**REVERTED** - A task that has been reverted successfully appears in"},{"line_number":149,"context_line":"this state (ie no exception/s were raised during running"},{"line_number":150,"context_line":"its :py:meth:`~taskflow.task.BaseTask.revert` method)."},{"line_number":151,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_3b6bd0b8","line":148,"in_reply_to":"fa32b979_6a0d0f8e","updated":"2015-06-24 20:00:32.000000000","message":"Done","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":195,"context_line":"raises an exception), the retry goes to the ``FAILURE`` state (if it was"},{"line_number":196,"context_line":"already in the ``FAILURE`` state then this is a no-op)."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"**REVERTED** - A retry that has been reverted successfully appears in"},{"line_number":199,"context_line":"this state (ie no exception/s were raised during running"},{"line_number":200,"context_line":"its :py:meth:`~taskflow.retry.Retry.revert` method)."},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_aacc7735","line":198,"updated":"2015-06-24 16:33:44.000000000","message":"The engine running the retry transitions the retry to this state after it has successfully reverted the retry","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"79561dc273b62591bfe70388f39f881fdee02038","unresolved":false,"context_lines":[{"line_number":195,"context_line":"raises an exception), the retry goes to the ``FAILURE`` state (if it was"},{"line_number":196,"context_line":"already in the ``FAILURE`` state then this is a no-op)."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"**REVERTED** - A retry that has been reverted successfully appears in"},{"line_number":199,"context_line":"this state (ie no exception/s were raised during running"},{"line_number":200,"context_line":"its :py:meth:`~taskflow.retry.Retry.revert` method)."},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_e5c145e5","line":198,"in_reply_to":"fa32b979_aacc7735","updated":"2015-06-24 19:36:42.000000000","message":"Done","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"}],"taskflow/engines/action_engine/actions/retry.py":[{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def change_state(self, retry, state, **kwargs):"},{"line_number":64,"context_line":"        old_state \u003d self._storage.get_atom_state(retry.name)"},{"line_number":65,"context_line":"        if state in self.SAVE_RESULT_STATES:"},{"line_number":66,"context_line":"            self._storage.save(retry.name, kwargs[\u0027result\u0027], state)"},{"line_number":67,"context_line":"            if state \u003d\u003d states.REVERTED:"},{"line_number":68,"context_line":"                self._storage.cleanup_retry_history(retry.name, state)"},{"line_number":69,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_4a104b59","line":66,"updated":"2015-06-24 16:33:44.000000000","message":"line 81 assumes kwargs could be missing \u0027result\u0027 but this line assume it\u0027s not missing, why not make result a required parameter in the method header rather than doing runtime checks?","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"79561dc273b62591bfe70388f39f881fdee02038","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def change_state(self, retry, state, **kwargs):"},{"line_number":64,"context_line":"        old_state \u003d self._storage.get_atom_state(retry.name)"},{"line_number":65,"context_line":"        if state in self.SAVE_RESULT_STATES:"},{"line_number":66,"context_line":"            self._storage.save(retry.name, kwargs[\u0027result\u0027], state)"},{"line_number":67,"context_line":"            if state \u003d\u003d states.REVERTED:"},{"line_number":68,"context_line":"                self._storage.cleanup_retry_history(retry.name, state)"},{"line_number":69,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_6011a351","line":66,"in_reply_to":"fa32b979_4a104b59","updated":"2015-06-24 19:36:42.000000000","message":"So I can go back to the using a sentinel to make sure we can distinguish no-value (lack of any return value) vs none-value (where none is a valid return), this also does the same thing (using **kwargs and existence checks). I\u0027ll go back to the old sentinel way (I guess that\u0027s more clear?).","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"}],"taskflow/engines/action_engine/actions/task.py":[{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            # more important, extra notifications"},{"line_number":59,"context_line":"            return"},{"line_number":60,"context_line":"        if state in self.SAVE_RESULT_STATES:"},{"line_number":61,"context_line":"            self._storage.save(task.name, kwargs[\u0027result\u0027], state)"},{"line_number":62,"context_line":"        else:"},{"line_number":63,"context_line":"            self._storage.set_atom_state(task.name, state)"},{"line_number":64,"context_line":"        if progress is not None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_30945889","line":61,"updated":"2015-06-24 16:33:44.000000000","message":"line 72 assumes \u0027result\u0027 could be missing but this does not...","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"81686747b160a36afc91f3a652b7ab14b3797750","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            # more important, extra notifications"},{"line_number":59,"context_line":"            return"},{"line_number":60,"context_line":"        if state in self.SAVE_RESULT_STATES:"},{"line_number":61,"context_line":"            self._storage.save(task.name, kwargs[\u0027result\u0027], state)"},{"line_number":62,"context_line":"        else:"},{"line_number":63,"context_line":"            self._storage.set_atom_state(task.name, state)"},{"line_number":64,"context_line":"        if progress is not None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_403d7fc2","line":61,"in_reply_to":"fa32b979_30945889","updated":"2015-06-24 19:37:19.000000000","message":"right, that is true :) \n\nlet me switch that back to using the sentinel value","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"}],"taskflow/persistence/logbook.py":[{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":414,"context_line":"    :ivar results: Any results the atom produced from either its"},{"line_number":415,"context_line":"                   ``execute`` method or from other sources."},{"line_number":416,"context_line":"    :ivar revert_results: Any results the atom produced from either its"},{"line_number":417,"context_line":"                          ``revert`` method or from other sources."},{"line_number":418,"context_line":"    :ivar failure: If the atom failed (possibly due to its ``execute``"},{"line_number":419,"context_line":"                   or ``revert`` method raising) this will be a"},{"line_number":420,"context_line":"                   :py:class:`~taskflow.types.failure.Failure` object that"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_d0472cba","line":417,"updated":"2015-06-24 16:33:44.000000000","message":"missing revert_failure","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9ae08d1e782510251bf1980559de7a91d70b6912","unresolved":false,"context_lines":[{"line_number":414,"context_line":"    :ivar results: Any results the atom produced from either its"},{"line_number":415,"context_line":"                   ``execute`` method or from other sources."},{"line_number":416,"context_line":"    :ivar revert_results: Any results the atom produced from either its"},{"line_number":417,"context_line":"                          ``revert`` method or from other sources."},{"line_number":418,"context_line":"    :ivar failure: If the atom failed (possibly due to its ``execute``"},{"line_number":419,"context_line":"                   or ``revert`` method raising) this will be a"},{"line_number":420,"context_line":"                   :py:class:`~taskflow.types.failure.Failure` object that"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_60e52307","line":417,"in_reply_to":"fa32b979_d0472cba","updated":"2015-06-24 19:45:52.000000000","message":"Done","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"}],"taskflow/states.py":[{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    (PENDING, RUNNING),       # run it!"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    (RUNNING, SUCCESS),       # the task executed successfully"},{"line_number":165,"context_line":"    (RUNNING, FAILURE),       # the task execute failed"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    (FAILURE, REVERTING),     # task execute failed, try revert..."},{"line_number":168,"context_line":"    (SUCCESS, REVERTING),     # some other task failed, try revert..."}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_730aea21","line":165,"updated":"2015-06-24 16:33:44.000000000","message":"task execution failed","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9ae08d1e782510251bf1980559de7a91d70b6912","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    (PENDING, RUNNING),       # run it!"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    (RUNNING, SUCCESS),       # the task executed successfully"},{"line_number":165,"context_line":"    (RUNNING, FAILURE),       # the task execute failed"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    (FAILURE, REVERTING),     # task execute failed, try revert..."},{"line_number":168,"context_line":"    (SUCCESS, REVERTING),     # some other task failed, try revert..."}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_20eb9bdd","line":165,"in_reply_to":"fa32b979_730aea21","updated":"2015-06-24 19:45:52.000000000","message":"Done","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    (RUNNING, SUCCESS),       # the task executed successfully"},{"line_number":165,"context_line":"    (RUNNING, FAILURE),       # the task execute failed"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    (FAILURE, REVERTING),     # task execute failed, try revert..."},{"line_number":168,"context_line":"    (SUCCESS, REVERTING),     # some other task failed, try revert..."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    (REVERTING, REVERTED),    # the task reverted successfully"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_535566f7","line":167,"updated":"2015-06-24 16:33:44.000000000","message":"task execution failed","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9ae08d1e782510251bf1980559de7a91d70b6912","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    (RUNNING, SUCCESS),       # the task executed successfully"},{"line_number":165,"context_line":"    (RUNNING, FAILURE),       # the task execute failed"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    (FAILURE, REVERTING),     # task execute failed, try revert..."},{"line_number":168,"context_line":"    (SUCCESS, REVERTING),     # some other task failed, try revert..."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    (REVERTING, REVERTED),    # the task reverted successfully"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_c0bc2fde","line":167,"in_reply_to":"fa32b979_535566f7","updated":"2015-06-24 19:45:52.000000000","message":"Done","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"d14388adc2b32396f8563e48bfaf6284a48ef5c7","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    (SUCCESS, REVERTING),     # some other task failed, try revert..."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    (REVERTING, REVERTED),    # the task reverted successfully"},{"line_number":171,"context_line":"    (REVERTING, FAILURE),     # the task reverted failed"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    (REVERTED, PENDING),      # try again"},{"line_number":174,"context_line":"))"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_93768ea2","line":171,"updated":"2015-06-24 16:33:44.000000000","message":"\"the task reversion failed\" or \"the task failed to revert\"...  should \"FAILURE\" mean both execution failure and revert failure?","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9ae08d1e782510251bf1980559de7a91d70b6912","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    (SUCCESS, REVERTING),     # some other task failed, try revert..."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    (REVERTING, REVERTED),    # the task reverted successfully"},{"line_number":171,"context_line":"    (REVERTING, FAILURE),     # the task reverted failed"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    (REVERTED, PENDING),      # try again"},{"line_number":174,"context_line":"))"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_40cd7f64","line":171,"in_reply_to":"fa32b979_93768ea2","updated":"2015-06-24 19:45:52.000000000","message":"Hmmm, i was debating that, i even added a new state in the previous patches (aka a FAILURE_REVERT state), but decided to just use the same FAILURE one and use the intention (if it failed with EXECUTE intention then its a execution failure, if it failed with REVERT intention then its a revert failure) of the task to determine which one occurred...\n\nWhat do u think? I could go back to having a new state/s.","commit_id":"7ad5b958684893bc33ac04e83c41fc354f69da72"}]}
