)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"6ce993d8107c9b96531482a8c573a64c2dfd1a9c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"442eea11_b489f41e","updated":"2023-10-19 19:44:39.000000000","message":"recheck","commit_id":"28049cfe332500b76db1edcdf17001ac7eced91f"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"fe9a880c23c9bced9066760cc1e023c77079067a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2b8cc5f9_668a7f26","updated":"2023-12-13 23:08:59.000000000","message":"Can you amend the doc to reflect this new endpoint?\nthanks","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"2a7b59d414d7659a2b42ebf6adec60a811be237e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"71cbe37f_6bb78e7b","updated":"2023-12-13 22:41:41.000000000","message":"So if I understand well, mistral was heartbeating your async actions, but you dont want that, you want them to be hearteated by your external app.\nAm I right?","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"256514deb8eb7c1e645f1fa2fe45b465b551b7fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"20551b84_03d211f4","in_reply_to":"2b8cc5f9_668a7f26","updated":"2024-04-10 11:27:56.000000000","message":"Added overall heartbeat doc with new details.","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"256514deb8eb7c1e645f1fa2fe45b465b551b7fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"254c2d59_bb558406","in_reply_to":"71cbe37f_6bb78e7b","updated":"2024-04-10 11:27:56.000000000","message":"Mistral do NOTHING with async actions :) If some external app forgets it without completion, there\u0027s nothing that could move this action out from RUNNING state. This patch changes it.","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"3c9f1d1c3652757d5d3b82955b855e1761ad9b48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b05eafca_46d4202d","updated":"2024-04-10 14:05:46.000000000","message":"guys, please review this patch 😞","commit_id":"1d8bbc3af812c012a2fa0c05b6fb4a5b3aa71b07"}],"mistral/db/sqlalchemy/migration/alembic_migrations/versions/043_async_heatbeats_flag_for_action_executions.py":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"2a7b59d414d7659a2b42ebf6adec60a811be237e","unresolved":true,"context_lines":[{"line_number":30,"context_line":"from sqlalchemy import inspect"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# TODO(vgvoleg): should be moved to some utils module"},{"line_number":34,"context_line":"def column_exists(table_name, column_name):"},{"line_number":35,"context_line":"    bind \u003d op.get_context().bind"},{"line_number":36,"context_line":"    insp \u003d inspect(bind)"}],"source_content_type":"text/x-python","patch_set":7,"id":"26c5ab47_c2be2386","line":33,"updated":"2023-12-13 22:41:41.000000000","message":"let sync with https://review.opendev.org/c/openstack/mistral/+/898534","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"256514deb8eb7c1e645f1fa2fe45b465b551b7fa","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from sqlalchemy import inspect"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# TODO(vgvoleg): should be moved to some utils module"},{"line_number":34,"context_line":"def column_exists(table_name, column_name):"},{"line_number":35,"context_line":"    bind \u003d op.get_context().bind"},{"line_number":36,"context_line":"    insp \u003d inspect(bind)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1718c48b_d90152b9","line":33,"in_reply_to":"26c5ab47_c2be2386","updated":"2024-04-10 11:27:56.000000000","message":"done","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"}],"mistral/executors/default_executor.py":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"2a7b59d414d7659a2b42ebf6adec60a811be237e","unresolved":true,"context_lines":[{"line_number":50,"context_line":"        :param timeout: a period of time in seconds after which execution of"},{"line_number":51,"context_line":"            action will be interrupted."},{"line_number":52,"context_line":"        :param async_heartbeats_enabled: If true, executor will not send"},{"line_number":53,"context_line":"            any heartbeats automatically, because they should be recieved"},{"line_number":54,"context_line":"            by api."},{"line_number":55,"context_line":"        :return: Action result."},{"line_number":56,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"5dc61fbc_42b5e85a","line":53,"updated":"2023-12-13 22:41:41.000000000","message":"nit: received","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"256514deb8eb7c1e645f1fa2fe45b465b551b7fa","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        :param timeout: a period of time in seconds after which execution of"},{"line_number":51,"context_line":"            action will be interrupted."},{"line_number":52,"context_line":"        :param async_heartbeats_enabled: If true, executor will not send"},{"line_number":53,"context_line":"            any heartbeats automatically, because they should be recieved"},{"line_number":54,"context_line":"            by api."},{"line_number":55,"context_line":"        :return: Action result."},{"line_number":56,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"2246b5c2_c92b8e16","line":53,"in_reply_to":"5dc61fbc_42b5e85a","updated":"2024-04-10 11:27:56.000000000","message":"done","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"}],"mistral/executors/executor_server.py":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"2a7b59d414d7659a2b42ebf6adec60a811be237e","unresolved":true,"context_lines":[{"line_number":84,"context_line":"        :param timeout: a period of time in seconds after which execution of"},{"line_number":85,"context_line":"            action will be interrupted"},{"line_number":86,"context_line":"        :param async_heartbeats_enabled: If true, executor will not send"},{"line_number":87,"context_line":"            any heartbeats automatically, because they should be recieved"},{"line_number":88,"context_line":"            by api."},{"line_number":89,"context_line":"        :return: Action result."},{"line_number":90,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"191325d7_36335f54","line":87,"updated":"2023-12-13 22:41:41.000000000","message":"nit: received","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"256514deb8eb7c1e645f1fa2fe45b465b551b7fa","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        :param timeout: a period of time in seconds after which execution of"},{"line_number":85,"context_line":"            action will be interrupted"},{"line_number":86,"context_line":"        :param async_heartbeats_enabled: If true, executor will not send"},{"line_number":87,"context_line":"            any heartbeats automatically, because they should be recieved"},{"line_number":88,"context_line":"            by api."},{"line_number":89,"context_line":"        :return: Action result."},{"line_number":90,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"4d09eb32_c2a45f9b","line":87,"in_reply_to":"191325d7_36335f54","updated":"2024-04-10 11:27:56.000000000","message":"done","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"}],"mistral/rpc/clients.py":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"2a7b59d414d7659a2b42ebf6adec60a811be237e","unresolved":true,"context_lines":[{"line_number":451,"context_line":"        :param timeout: a period of time in seconds after which execution of"},{"line_number":452,"context_line":"            action will be interrupted."},{"line_number":453,"context_line":"        :param async_heartbeats_enabled: If true, executor will not send"},{"line_number":454,"context_line":"            any heartbeats automatically, because they should be recieved"},{"line_number":455,"context_line":"            by api."},{"line_number":456,"context_line":"        :return: Action result."},{"line_number":457,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"82502bea_7fbc66f2","line":454,"updated":"2023-12-13 22:41:41.000000000","message":"nit: received","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"256514deb8eb7c1e645f1fa2fe45b465b551b7fa","unresolved":false,"context_lines":[{"line_number":451,"context_line":"        :param timeout: a period of time in seconds after which execution of"},{"line_number":452,"context_line":"            action will be interrupted."},{"line_number":453,"context_line":"        :param async_heartbeats_enabled: If true, executor will not send"},{"line_number":454,"context_line":"            any heartbeats automatically, because they should be recieved"},{"line_number":455,"context_line":"            by api."},{"line_number":456,"context_line":"        :return: Action result."},{"line_number":457,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"c163ef00_3d4fd194","line":454,"in_reply_to":"82502bea_7fbc66f2","updated":"2024-04-10 11:27:56.000000000","message":"done","commit_id":"6c1e75b8ece9e6757be5582b908a7123c203738c"}]}
