diff --git a/mpikat/pipelines/digpack_controller.py b/mpikat/pipelines/digpack_controller.py index 05f13f120407a3b83798b7216f756f49406d6ee4..d2250e9ae0c1427948c9613b16f65dc729d07261 100644 --- a/mpikat/pipelines/digpack_controller.py +++ b/mpikat/pipelines/digpack_controller.py @@ -141,7 +141,7 @@ def get_shared_sync_time(redis_db, key, delay): pipeline = redis_db.pipeline() # Create a new key only when not existing. Set a expiry of the key with the # delay time - pipeline.set(key, time.time() + delay, nx=True, ex=delay) + pipeline.set(key, int(time.time()) + delay, nx=True, ex=delay) pipeline.get(key) r, v = pipeline.execute() # return the key diff --git a/tests/test_digpack_client.py b/tests/test_digpack_client.py index bf6e08c2b66bdf268d5fda0819ccc7376a32c182..7ac5e134538c3b1eb9a73557a6f2c11a62ac6ee2 100644 --- a/tests/test_digpack_client.py +++ b/tests/test_digpack_client.py @@ -66,6 +66,11 @@ class TestSharedSyncTime(unittest.TestCase): self.assertNotEqual(a, get_shared_sync_time(self.client, 'foo', 1)) + def test_sync_time_starts_on_full_Second(self): + a = get_shared_sync_time(self.client, 'foo', 1) + self.assertLessEqual(abs(a - int(a)), 1E-9) + + if __name__ == '__main__':