Merge pull request #275 from flashbots/block-list-2
Enqueue a list of blocks
This commit is contained in:
commit
8767f27fe6
13
README.md
13
README.md
@ -162,6 +162,19 @@ DEL dramatiq:default.DQ.msgs
|
|||||||
|
|
||||||
For more information on queues, see the [spec shared by dramatiq](https://github.com/Bogdanp/dramatiq/blob/24cbc0dc551797783f41b08ea461e1b5d23a4058/dramatiq/brokers/redis/dispatch.lua#L24-L43)
|
For more information on queues, see the [spec shared by dramatiq](https://github.com/Bogdanp/dramatiq/blob/24cbc0dc551797783f41b08ea461e1b5d23a4058/dramatiq/brokers/redis/dispatch.lua#L24-L43)
|
||||||
|
|
||||||
|
**Backfilling a list of blocks**
|
||||||
|
|
||||||
|
Create a file containing a block per row, for example blocks.txt containing:
|
||||||
|
```
|
||||||
|
12500000
|
||||||
|
12500001
|
||||||
|
12500002
|
||||||
|
```
|
||||||
|
|
||||||
|
Then queue the blocks with
|
||||||
|
```
|
||||||
|
cat blocks.txt | ./mev block-list
|
||||||
|
```
|
||||||
|
|
||||||
To watch the logs for a given worker pod, take its pod name using the above, then run:
|
To watch the logs for a given worker pod, take its pod name using the above, then run:
|
||||||
```
|
```
|
||||||
|
17
cli.py
17
cli.py
@ -1,3 +1,4 @@
|
|||||||
|
import fileinput
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
@ -103,6 +104,22 @@ async def inspect_many_blocks_command(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@cli.command()
|
||||||
|
def enqueue_block_list_command():
|
||||||
|
broker = connect_broker()
|
||||||
|
inspect_many_blocks_actor = dramatiq.actor(
|
||||||
|
inspect_many_blocks_task,
|
||||||
|
broker=broker,
|
||||||
|
queue_name=LOW_PRIORITY_QUEUE,
|
||||||
|
priority=LOW_PRIORITY,
|
||||||
|
)
|
||||||
|
|
||||||
|
for block_string in fileinput.input():
|
||||||
|
block = int(block_string)
|
||||||
|
logger.info(f"Sending {block} to {block+1}")
|
||||||
|
inspect_many_blocks_actor.send(block, block + 1)
|
||||||
|
|
||||||
|
|
||||||
@cli.command()
|
@cli.command()
|
||||||
@click.argument("start_block", type=int)
|
@click.argument("start_block", type=int)
|
||||||
@click.argument("end_block", type=int)
|
@click.argument("end_block", type=int)
|
||||||
|
4
mev
4
mev
@ -45,6 +45,10 @@ case "$1" in
|
|||||||
listener)
|
listener)
|
||||||
kubectl exec -ti deploy/mev-inspect -- ./listener $2
|
kubectl exec -ti deploy/mev-inspect -- ./listener $2
|
||||||
;;
|
;;
|
||||||
|
block-list)
|
||||||
|
echo "Backfilling blocks from stdin"
|
||||||
|
kubectl exec -i deploy/mev-inspect -- poetry run enqueue-block-list
|
||||||
|
;;
|
||||||
backfill)
|
backfill)
|
||||||
after_block_number=$2
|
after_block_number=$2
|
||||||
before_block_number=$3
|
before_block_number=$3
|
||||||
|
@ -38,6 +38,7 @@ build-backend = "poetry.core.masonry.api"
|
|||||||
inspect-block = 'cli:inspect_block_command'
|
inspect-block = 'cli:inspect_block_command'
|
||||||
inspect-many-blocks = 'cli:inspect_many_blocks_command'
|
inspect-many-blocks = 'cli:inspect_many_blocks_command'
|
||||||
enqueue-many-blocks = 'cli:enqueue_many_blocks_command'
|
enqueue-many-blocks = 'cli:enqueue_many_blocks_command'
|
||||||
|
enqueue-block-list = 'cli:enqueue_block_list_command'
|
||||||
fetch-block = 'cli:fetch_block_command'
|
fetch-block = 'cli:fetch_block_command'
|
||||||
fetch-all-prices = 'cli:fetch_all_prices'
|
fetch-all-prices = 'cli:fetch_all_prices'
|
||||||
fetch-range = 'cli:fetch_range'
|
fetch-range = 'cli:fetch_range'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user