diff --git a/chaind/eth/runnable/queuer.py b/chaind/eth/runnable/queuer.py index 4a6595e..cb3bcae 100644 --- a/chaind/eth/runnable/queuer.py +++ b/chaind/eth/runnable/queuer.py @@ -67,10 +67,26 @@ settings.process(config) logg.debug('settings:\n{}'.format(settings)) -def process_outgoing(chain_spec, adapter, rpc, limit=100): - upcoming = adapter.upcoming() - logg.info('process {} {} {}'.format(chain_spec, adapter, rpc)) - logg.info('upcoming {}'.format(upcoming)) +def process_outgoing(chain_spec, adapter, rpc, limit=50): + adapter = None + process_err = None + for i in range(2): + try: + adapter = ChaindFsAdapter( + settings.get('CHAIN_SPEC'), + settings.dir_for('queue'), + EthCacheTx, + dispatcher, + ) + except BackendIntegrityError as e: + process_err = e + continue + + if adapter == None: + raise BackendIntegrityError(process_err) + + upcoming = adapter.upcoming(limit=limit) + logg.info('processor has {} candidates for {}, processing with limit {} adapter {} rpc {}'.format(len(upcoming), chain_spec, limit, adapter, rpc)) i = 0 for tx_hash in upcoming: if adapter.dispatch(tx_hash): diff --git a/chaind/eth/runnable/syncer.py b/chaind/eth/runnable/syncer.py index 25849dd..705cf1f 100644 --- a/chaind/eth/runnable/syncer.py +++ b/chaind/eth/runnable/syncer.py @@ -8,7 +8,6 @@ import chainsyncer.cli import chaind.cli from chaind.setup import Environment from chaind.filter import StateFilter -from chaind.adapters.fs import ChaindFsAdapter from chainlib.eth.block import block_latest from hexathon import strip_0x from chainsyncer.store.fs import SyncFsStore @@ -59,13 +58,7 @@ logg.debug('settings:\n{}'.format(settings)) def main(): - queue_adapter = ChaindFsAdapter( - settings.get('CHAIN_SPEC'), - settings.dir_for('queue'), - EthCacheTx, - None, - ) - fltr = StateFilter(queue_adapter) + fltr = StateFilter(settings.get('CHAIN_SPEC'), settings.dir_for('queue'), EthCacheTx) sync_store = SyncFsStore(settings.get('SESSION_DATA_DIR'), session_id=settings.get('SESSION_ID')) sync_store.register(fltr) diff --git a/requirements.txt b/requirements.txt index 7c24871..ed15ce5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -chaind~=0.1.3 +chaind~=0.2.0 hexathon~=0.1.5 chainlib-eth~=0.1.1 pyxdg~=0.27 diff --git a/setup.cfg b/setup.cfg index d2a6745..4a6ac63 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = chaind-eth -version = 0.1.5 +version = 0.2.0 description = Queue server for ethereum author = Louis Holbrook author_email = dev@holbrook.no