)]}'
{"rally/common/utils.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"ace599f941525c5f692e5354c5ddb0f54cff0f83","unresolved":false,"context_lines":[{"line_number":539,"context_line":"            return"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"def discontinuous_time_sleep(sleep_time\u003d0, atomic_parts\u003d10):"},{"line_number":543,"context_line":"    \"\"\"Do nothing and sleep for the given number of seconds (0 by default)."},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    Enable to interrupt atomic time.sleep(sec) by separating it on the"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_815d7d4a","line":542,"updated":"2015-11-20 14:44:54.000000000","message":"(seconds, atomic_delay\u003d1.0)\n\nIt would be much simpler to divide all seconds by atomic delay, and call time.sleep(atomic_delay) N times:\n\nfor i in range(int(seconds/atomic_delay)):\n time.sleep(atomic_delay)","commit_id":"4734bf6c914f94d0ed2935aaaedbc450c88257b6"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"ace599f941525c5f692e5354c5ddb0f54cff0f83","unresolved":false,"context_lines":[{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"def discontinuous_time_sleep(sleep_time\u003d0, atomic_parts\u003d10):"},{"line_number":543,"context_line":"    \"\"\"Do nothing and sleep for the given number of seconds (0 by default)."},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    Enable to interrupt atomic time.sleep(sec) by separating it on the"},{"line_number":546,"context_line":"    \u0027atomic_parts\u0027 number of calling time.sleep(sec / atomic_parts)."}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_01118daf","line":543,"updated":"2015-11-20 14:44:54.000000000","message":"It\u0027s more like \"return after given time\"","commit_id":"4734bf6c914f94d0ed2935aaaedbc450c88257b6"},{"author":{"_account_id":7132,"name":"Nikita Konovalov","email":"nkonovalov@mirantis.com","username":"nkonovalov"},"change_message_id":"181366a6dd3d91730ae25fbe05d33c3a86053fbf","unresolved":false,"context_lines":[{"line_number":558,"context_line":"            time.sleep(float(sleep_time) / atomic_parts)"},{"line_number":559,"context_line":"            # NOTE(rvasilets): this cycle is added to give the time to"},{"line_number":560,"context_line":"            # another thread to became current thread."},{"line_number":561,"context_line":"            for y in moves.xrange(10):"},{"line_number":562,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_0d86a665","line":561,"updated":"2015-11-20 13:27:08.000000000","message":"There is no real way to force python switch threads. The best known solution is this case is actually to call sleep(0) which will cause this thread to yield time to another one, but that\u0027s still not a guarantee.","commit_id":"4734bf6c914f94d0ed2935aaaedbc450c88257b6"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"181bac9935ae100b7f7ac5c390a5d99599e0179f","unresolved":false,"context_lines":[{"line_number":475,"context_line":"            return"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"def discontinuous_time_sleep(sleep_time\u003d0, atomic_delay\u003d1.0):"},{"line_number":479,"context_line":"    \"\"\"Return after given time (0 by default)."},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    Enable to interrupt atomic time.sleep(sec) by separating it on the"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_49bb450f","line":478,"updated":"2015-11-24 12:43:44.000000000","message":"Default value for sleep_time is not necessary. time.sleep does not have default value.","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"81713f03315be487da8703dbadfb334c16da791e","unresolved":false,"context_lines":[{"line_number":475,"context_line":"            return"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"def discontinuous_time_sleep(sleep_time\u003d0, atomic_delay\u003d1.0):"},{"line_number":479,"context_line":"    \"\"\"Return after given time (0 by default)."},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    Enable to interrupt atomic time.sleep(sec) by separating it on the"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_c6211fb6","line":478,"in_reply_to":"9a8ffd7b_49bb450f","updated":"2015-11-25 13:33:23.000000000","message":"time.sleep don\u0027t have. But I want to give default value. i think that its great when we give default values to function params.","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"181bac9935ae100b7f7ac5c390a5d99599e0179f","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                         int(sleep_time / atomic_delay) times."},{"line_number":487,"context_line":"    \"\"\""},{"line_number":488,"context_line":"    if atomic_delay \u003c\u003d 0:"},{"line_number":489,"context_line":"        raise exceptions.RallyException("},{"line_number":490,"context_line":"            \"\u0027atomic_delay\u0027 value should be greater then zero.\")"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    if sleep_time:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_49c58559","line":489,"updated":"2015-11-24 12:43:44.000000000","message":"This looks more like ValueError. Why RallyException?","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"81713f03315be487da8703dbadfb334c16da791e","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                         int(sleep_time / atomic_delay) times."},{"line_number":487,"context_line":"    \"\"\""},{"line_number":488,"context_line":"    if atomic_delay \u003c\u003d 0:"},{"line_number":489,"context_line":"        raise exceptions.RallyException("},{"line_number":490,"context_line":"            \"\u0027atomic_delay\u0027 value should be greater then zero.\")"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    if sleep_time:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_86a6b751","line":489,"in_reply_to":"9a8ffd7b_49c58559","updated":"2015-11-25 13:33:23.000000000","message":"Ok I will use ValueError as you say.","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"181bac9935ae100b7f7ac5c390a5d99599e0179f","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        raise exceptions.RallyException("},{"line_number":490,"context_line":"            \"\u0027atomic_delay\u0027 value should be greater then zero.\")"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    if sleep_time:"},{"line_number":493,"context_line":"        if sleep_time \u003c 1:"},{"line_number":494,"context_line":"            time.sleep(sleep_time)"},{"line_number":495,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_c9ebb5af","line":492,"updated":"2015-11-24 12:43:44.000000000","message":"It would be better if we just raise ValueError if sleep_time \u003c\u003d 0. Calling interruptable_sleep with 0 does not make sense.","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"81713f03315be487da8703dbadfb334c16da791e","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        raise exceptions.RallyException("},{"line_number":490,"context_line":"            \"\u0027atomic_delay\u0027 value should be greater then zero.\")"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    if sleep_time:"},{"line_number":493,"context_line":"        if sleep_time \u003c 1:"},{"line_number":494,"context_line":"            time.sleep(sleep_time)"},{"line_number":495,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_464e8f97","line":492,"in_reply_to":"9a8ffd7b_c9ebb5af","updated":"2015-11-25 13:33:23.000000000","message":"ok","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"181bac9935ae100b7f7ac5c390a5d99599e0179f","unresolved":false,"context_lines":[{"line_number":498,"context_line":"            time.sleep(atomic_delay)"},{"line_number":499,"context_line":"            # NOTE(rvasilets): this cycle is added to give the time to"},{"line_number":500,"context_line":"            # another thread to became current thread."},{"line_number":501,"context_line":"            for y in moves.xrange(10):"},{"line_number":502,"context_line":"                pass"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"        left \u003d sleep_time - (int(sleep_time / atomic_delay)) * atomic_delay"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_69af29e4","line":501,"updated":"2015-11-24 12:43:44.000000000","message":"This will make cpu busy for less then one microsecond. How it can help?","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"81713f03315be487da8703dbadfb334c16da791e","unresolved":false,"context_lines":[{"line_number":498,"context_line":"            time.sleep(atomic_delay)"},{"line_number":499,"context_line":"            # NOTE(rvasilets): this cycle is added to give the time to"},{"line_number":500,"context_line":"            # another thread to became current thread."},{"line_number":501,"context_line":"            for y in moves.xrange(10):"},{"line_number":502,"context_line":"                pass"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"        left \u003d sleep_time - (int(sleep_time / atomic_delay)) * atomic_delay"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_c6f4bf88","line":501,"in_reply_to":"9a8ffd7b_69af29e4","updated":"2015-11-25 13:33:23.000000000","message":"With for http://ideone.com/Lci0bq\nwithout http://ideone.com/d5OGWD","commit_id":"40dda70a13b85069643d4a448eac70171aef9b42"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"4ba72132701fa45206f86cc580cbbdd0dd51bdb5","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                         int(sleep_time / atomic_delay) times."},{"line_number":487,"context_line":"    \"\"\""},{"line_number":488,"context_line":"    if atomic_delay \u003c\u003d 0:"},{"line_number":489,"context_line":"        raise ValueError(\"sleep_time should be \u003e\u003d 0\")"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"    if sleep_time:"},{"line_number":492,"context_line":"        if sleep_time \u003c 1:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_f9507d0c","line":489,"updated":"2015-11-25 14:36:57.000000000","message":"In 488 we check atomic_delay but raise error about sleep_time.","commit_id":"3f3e327a663909f4ad59ec9faeca62a49e8fbf8e"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"9a26cdf45c449d19060217c6cb521ec7ac81a1b7","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                         int(sleep_time / atomic_delay) times."},{"line_number":487,"context_line":"    \"\"\""},{"line_number":488,"context_line":"    if atomic_delay \u003c\u003d 0:"},{"line_number":489,"context_line":"        raise ValueError(\"sleep_time should be \u003e\u003d 0\")"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"    if sleep_time:"},{"line_number":492,"context_line":"        if sleep_time \u003c 1:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_7947ad1d","line":489,"in_reply_to":"9a8ffd7b_f9507d0c","updated":"2015-11-25 14:39:23.000000000","message":"Thanks. Will fix this soon.","commit_id":"3f3e327a663909f4ad59ec9faeca62a49e8fbf8e"}]}
