diff options
author | Martin Jørgensen <hello@martinnj.dk> | 2021-05-27 10:13:04 +0200 |
---|---|---|
committer | Martin Jørgensen <hello@martinnj.dk> | 2021-05-27 10:13:04 +0200 |
commit | 148dc0f566b55d75d497c42b272e644f4e2ce930 (patch) | |
tree | f81ec355c6154261f2c1da18ce23841d437c9d03 | |
parent | 64109c2b140807d19cb65ce8f34ff0121b468fe3 (diff) | |
download | pymemcache-148dc0f566b55d75d497c42b272e644f4e2ce930.tar.gz |
Use client.set_many in HashClient.
-rw-r--r-- | pymemcache/client/hash.py | 11 | ||||
-rw-r--r-- | pymemcache/test/test_client_hash.py | 4 |
2 files changed, 6 insertions, 9 deletions
diff --git a/pymemcache/client/hash.py b/pymemcache/client/hash.py index 6ec8d1f..c2adb89 100644 --- a/pymemcache/client/hash.py +++ b/pymemcache/client/hash.py @@ -336,15 +336,12 @@ class HashClient(object): succeeded = [] try: - for key, value in six.iteritems(values): - result = client.set(key, value, *args, **kwargs) - if result: - succeeded.append(key) - else: - failed.append(key) + failed = client.set_many(values, *args, **kwargs) except Exception as e: - return succeeded, failed, e + if not self.ignore_exc: + return succeeded, failed, e + succeeded = [key for key in six.iterkeys(values) if key not in failed] return succeeded, failed, None def close(self): diff --git a/pymemcache/test/test_client_hash.py b/pymemcache/test/test_client_hash.py index 04b5123..ad3f2da 100644 --- a/pymemcache/test/test_client_hash.py +++ b/pymemcache/test/test_client_hash.py @@ -301,7 +301,7 @@ class TestHashClient(ClientTestMixin, unittest.TestCase): ], ignore_exc=True) result = client.set_many(values, noreply=False) - assert len(result) == 2 + assert len(result) == 0 def test_noreply_set_many(self): values = { @@ -336,7 +336,7 @@ class TestHashClient(ClientTestMixin, unittest.TestCase): ]) result = client.set_many(values, noreply=False) - assert result == ['key2'] + assert len(result) == 1 def test_server_encoding_pooled(self): """ |