diff --git a/chainsyncer/backend/sql.py b/chainsyncer/backend/sql.py index 4eaaf9b..bf6ed13 100644 --- a/chainsyncer/backend/sql.py +++ b/chainsyncer/backend/sql.py @@ -11,7 +11,7 @@ from chainsyncer.db.models.filter import BlockchainSyncFilter from chainsyncer.db.models.base import SessionBase from .base import Backend -logg = logging.getLogger().getChild(__name__) +logg = logging.getLogger(__name__) class SQLBackend(Backend): @@ -267,7 +267,8 @@ class SQLBackend(Backend): session.flush() #if block_height != block_resume: - if highest_unsynced_block < block_resume: + logg.info('last live id {} {} {}'.format(last_live_id, highest_unsynced_block, block_resume)) + if highest_unsynced_block <= block_resume: q = session.query(BlockchainSyncFilter) q = q.filter(BlockchainSyncFilter.chain_sync_id==last_live_id) diff --git a/chainsyncer/driver/poll.py b/chainsyncer/driver/poll.py index cb7c790..859925c 100644 --- a/chainsyncer/driver/poll.py +++ b/chainsyncer/driver/poll.py @@ -65,6 +65,12 @@ class BlockPollSyncer(Syncer): :returns: See chainsyncer.backend.base.Backend.get """ (pair, fltr) = self.backend.get() + (target, fltr_target) = self.backend.target() + if target == pair[0]: + logg.info('syncer was done before it started: {}'.format(self)) + raise SyncDone(target) + + start_tx = pair[1]