| from pyignite import Client |
| from pyignite.datatypes.cache_config import CacheMode |
| from pyignite.datatypes.prop_codes import * |
| from pyignite.exceptions import SocketError |
| |
| nodes = [ |
| ('127.0.0.1', 10800), |
| ('217.29.2.1', 10800), |
| ('200.10.33.1', 10800), |
| ] |
| |
| client = Client(timeout=40.0) |
| client.connect(nodes) |
| print('Connected to {}'.format(client)) |
| |
| my_cache = client.get_or_create_cache({ |
| PROP_NAME: 'my_cache', |
| PROP_CACHE_MODE: CacheMode.REPLICATED, |
| }) |
| my_cache.put('test_key', 0) |
| |
| # Abstract main loop |
| while True: |
| try: |
| # Do the work |
| test_value = my_cache.get('test_key') |
| my_cache.put('test_key', test_value + 1) |
| except (OSError, SocketError) as e: |
| # Recover from error (repeat last command, check data |
| # consistency or just continue − depends on the task) |
| print('Error: {}'.format(e)) |
| print('Last value: {}'.format(my_cache.get('test_key'))) |
| print('Reconnected to {}'.format(client)) |