implement reverse backfill

This commit is contained in:
pintail 2022-02-09 22:16:27 +00:00
parent 3965c5f7ba
commit c77869abd5

26
cli.py
View File

@ -96,17 +96,29 @@ async def inspect_many_blocks_command(
@cli.command() @cli.command()
@click.argument("after_block", type=int) @click.argument("start_block", type=int)
@click.argument("before_block", type=int) @click.argument("end_block", type=int)
@click.argument("batch_size", type=int, default=10) @click.argument("batch_size", type=int, default=10)
def enqueue_many_blocks_command(after_block: int, before_block: int, batch_size: int): def enqueue_many_blocks_command(start_block: int, end_block: int, batch_size: int):
broker = connect_broker() broker = connect_broker()
inspect_many_blocks_actor = dramatiq.actor(inspect_many_blocks_task, broker=broker) inspect_many_blocks_actor = dramatiq.actor(inspect_many_blocks_task, broker=broker)
for batch_after_block in range(after_block, before_block, batch_size): if start_block < end_block:
batch_before_block = min(batch_after_block + batch_size, before_block) after_block = start_block
logger.info(f"Sending {batch_after_block} to {batch_before_block}") before_block = end_block
inspect_many_blocks_actor.send(batch_after_block, batch_before_block)
for batch_after_block in range(after_block, before_block, batch_size):
batch_before_block = min(batch_after_block + batch_size, before_block)
logger.info(f"Sending {batch_after_block} to {batch_before_block}")
inspect_many_blocks_actor.send(batch_after_block, batch_before_block)
else:
after_block = end_block
before_block = start_block
for batch_before_block in range(before_block, after_block, -1 * batch_size):
batch_after_block = max(batch_before_block - batch_size, after_block)
logger.info(f"Sending {batch_after_block} to {batch_before_block}")
inspect_many_blocks_actor.send(batch_after_block, batch_before_block)
@cli.command() @cli.command()