fix listener
This commit is contained in:
parent
c5ef5c2f45
commit
c34485c493
@ -10,6 +10,7 @@ from mev_inspect.crud.latest_block_update import (
|
|||||||
find_latest_block_update,
|
find_latest_block_update,
|
||||||
update_latest_block,
|
update_latest_block,
|
||||||
)
|
)
|
||||||
|
from mev_inspect.db import get_sessions
|
||||||
from mev_inspect.inspector import MEVInspector
|
from mev_inspect.inspector import MEVInspector
|
||||||
from mev_inspect.provider import get_base_provider
|
from mev_inspect.provider import get_base_provider
|
||||||
from mev_inspect.signal_handler import GracefulKiller
|
from mev_inspect.signal_handler import GracefulKiller
|
||||||
@ -33,13 +34,14 @@ async def run():
|
|||||||
|
|
||||||
killer = GracefulKiller()
|
killer = GracefulKiller()
|
||||||
|
|
||||||
inspector = MEVInspector(rpc, None, None)
|
inspector = MEVInspector(rpc)
|
||||||
base_provider = get_base_provider(rpc)
|
base_provider = get_base_provider(rpc)
|
||||||
|
_, inspect_session = get_sessions()
|
||||||
|
|
||||||
while not killer.kill_now:
|
while not killer.kill_now:
|
||||||
await inspect_next_block(
|
await inspect_next_block(
|
||||||
inspector,
|
inspector,
|
||||||
None,
|
inspect_session,
|
||||||
base_provider,
|
base_provider,
|
||||||
healthcheck_url,
|
healthcheck_url,
|
||||||
)
|
)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
from typing import Optional
|
from typing import Optional, Tuple
|
||||||
from asyncio import current_task
|
from asyncio import current_task
|
||||||
|
|
||||||
from sqlalchemy.orm import sessionmaker
|
from sqlalchemy.orm import sessionmaker
|
||||||
@ -51,3 +51,10 @@ def get_trace_session() -> Optional[async_scoped_session]:
|
|||||||
return _get_session(uri)
|
return _get_session(uri)
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def get_sessions() -> Tuple[async_scoped_session, Optional[async_scoped_session]]:
|
||||||
|
inspect_db_session = get_inspect_session()
|
||||||
|
trace_db_session = get_trace_session()
|
||||||
|
trace_db_session = trace_db_session() if trace_db_session is not None else None
|
||||||
|
return inspect_db_session, trace_db_session
|
||||||
|
@ -2,15 +2,13 @@ import asyncio
|
|||||||
import logging
|
import logging
|
||||||
import traceback
|
import traceback
|
||||||
from asyncio import CancelledError
|
from asyncio import CancelledError
|
||||||
from typing import Tuple, Optional
|
|
||||||
|
|
||||||
from sqlalchemy.ext.asyncio import async_scoped_session
|
|
||||||
from web3 import Web3
|
from web3 import Web3
|
||||||
from web3.eth import AsyncEth
|
from web3.eth import AsyncEth
|
||||||
|
|
||||||
from mev_inspect.block import create_from_block_number
|
from mev_inspect.block import create_from_block_number
|
||||||
from mev_inspect.classifiers.trace import TraceClassifier
|
from mev_inspect.classifiers.trace import TraceClassifier
|
||||||
from mev_inspect.db import get_inspect_session, get_trace_session
|
from mev_inspect.db import get_sessions
|
||||||
from mev_inspect.inspect_block import inspect_block
|
from mev_inspect.inspect_block import inspect_block
|
||||||
from mev_inspect.provider import get_base_provider
|
from mev_inspect.provider import get_base_provider
|
||||||
|
|
||||||
@ -30,7 +28,7 @@ class MEVInspector:
|
|||||||
self.max_concurrency = asyncio.Semaphore(max_concurrency)
|
self.max_concurrency = asyncio.Semaphore(max_concurrency)
|
||||||
|
|
||||||
async def create_from_block(self, block_number: int):
|
async def create_from_block(self, block_number: int):
|
||||||
_, trace_session = _get_sessions()
|
_, trace_session = get_sessions()
|
||||||
return await create_from_block_number(
|
return await create_from_block_number(
|
||||||
base_provider=self.base_provider,
|
base_provider=self.base_provider,
|
||||||
w3=self.w3,
|
w3=self.w3,
|
||||||
@ -39,7 +37,7 @@ class MEVInspector:
|
|||||||
)
|
)
|
||||||
|
|
||||||
async def inspect_single_block(self, block: int):
|
async def inspect_single_block(self, block: int):
|
||||||
inspect_session, trace_session = _get_sessions()
|
inspect_session, trace_session = get_sessions()
|
||||||
return await inspect_block(
|
return await inspect_block(
|
||||||
inspect_session,
|
inspect_session,
|
||||||
trace_session,
|
trace_session,
|
||||||
@ -67,7 +65,7 @@ class MEVInspector:
|
|||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
async def safe_inspect_block(self, block_number: int):
|
async def safe_inspect_block(self, block_number: int):
|
||||||
inspect_session, trace_session = _get_sessions()
|
inspect_session, trace_session = get_sessions()
|
||||||
async with self.max_concurrency:
|
async with self.max_concurrency:
|
||||||
return await inspect_block(
|
return await inspect_block(
|
||||||
inspect_session,
|
inspect_session,
|
||||||
@ -77,10 +75,3 @@ class MEVInspector:
|
|||||||
self.trace_classifier,
|
self.trace_classifier,
|
||||||
block_number,
|
block_number,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def _get_sessions() -> Tuple[async_scoped_session, Optional[async_scoped_session]]:
|
|
||||||
inspect_db_session = get_inspect_session()
|
|
||||||
trace_db_session = get_trace_session()
|
|
||||||
trace_db_session = trace_db_session() if trace_db_session is not None else None
|
|
||||||
return inspect_db_session, trace_db_session
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user