bmoscon / cryptofeed

Cryptocurrency Exchange Websocket Data Feed Handler
Other
2.19k stars 679 forks source link

Arctic backend write fails (append not implemented) #901

Closed alanmws closed 1 year ago

alanmws commented 2 years ago

Describe the bug When trying to write feed data to an arctic backend, an exception is thrown regarding append method not being implemented. Cryptofeed version: 2.3.0 (latest at time of writing) Arctic version: 1.80.5 (latest at time of writing)

Traceback (most recent call last):
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/cryptofeed/connection_handler.py", line 69, in _create_connection
    await self._handler(connection, self.handler)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/cryptofeed/connection_handler.py", line 119, in _handler
    await handler(message, connection, self.conn.last_message)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/cryptofeed/exchanges/bitmex.py", line 766, in message_handler
    await self._funding(msg, timestamp)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/cryptofeed/exchanges/bitmex.py", line 486, in _funding
    await self.callback(FUNDING, f, timestamp)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/cryptofeed/feed.py", line 254, in callback
    await cb(obj, receipt_timestamp)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/cryptofeed/backends/backend.py", line 97, in __call__
    await self.write(data)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/cryptofeed/backends/arctic.py", line 50, in write
    self.lib.append(self.key, df, upsert=True)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/arctic/decorators.py", line 50, in f_retry
    return f(*args, **kwargs)
  File "/Users/alan/opt/anaconda3/envs/botvisor/lib/python3.8/site-packages/arctic/store/version_store.py", line 593, in append
    raise Exception("Append not implemented for handler %s" % handler)
Exception: Append not implemented for handler <arctic.store._pickle_store.PickleStore object at 0x7fc488603d90>

To Reproduce Run demo example for arctic ( examples/demo_arctic.py ). MongoDB instance running locally for arctic to connect.

Expected behavior Working write to arctic backend as in the example.

bmoscon commented 1 year ago

fixed