diff --git a/app_core/management/commands/start_block_monitor.py b/app_core/management/commands/start_block_monitor.py new file mode 100644 index 0000000..f22a5a6 --- /dev/null +++ b/app_core/management/commands/start_block_monitor.py @@ -0,0 +1,21 @@ +from django.core.management.base import BaseCommand, CommandError + +from ethereum_scanner.celery import set_web3_filter_task + + +class Command(BaseCommand): + help = 'Sync local database with blockchain from current position to end block' + + def add_arguments(self, parser): + parser.add_argument('async', nargs='?', default='async') + + # TODO logger - synced + def handle(self, *args, **options): + + async_start = options['async'] + if async_start is 'async': + set_web3_filter_task.delay() + self.stdout.write(self.style.SUCCESS('Successfully sync started')) + else: + set_web3_filter_task() + self.stdout.write(self.style.SUCCESS('Successfully synced')) diff --git a/ethereum_scanner/celery.py b/ethereum_scanner/celery.py index 13f7b71..3716efa 100644 --- a/ethereum_scanner/celery.py +++ b/ethereum_scanner/celery.py @@ -44,4 +44,3 @@ def sync_blocks_from_position_to_end(): if __name__ == '__main__': app.start() - set_web3_filter_task.delay()