diff options
author | Jon Parise <jon@pinterest.com> | 2021-05-27 12:54:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-27 12:54:19 -0700 |
commit | dd61d9f0878adba8692b49167f9a80af4de2f8c2 (patch) | |
tree | f81ec355c6154261f2c1da18ce23841d437c9d03 | |
parent | 64109c2b140807d19cb65ce8f34ff0121b468fe3 (diff) | |
parent | 148dc0f566b55d75d497c42b272e644f4e2ce930 (diff) | |
download | pymemcache-dd61d9f0878adba8692b49167f9a80af4de2f8c2.tar.gz |
Merge pull request #320 from martinnj/fix/hashclient-set-many
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): """ |