kopia lustrzana https://github.com/bugout-dev/moonstream
isort and mypy fixes
rodzic
83eaeebe1a
commit
49454a87cc
|
@ -1,20 +1,19 @@
|
||||||
import logging
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import logging
|
||||||
|
|
||||||
from web3 import Web3
|
|
||||||
from moonstreamdb.db import yield_db_session_ctx
|
from moonstreamdb.db import yield_db_session_ctx
|
||||||
|
from web3 import Web3
|
||||||
from web3.middleware import geth_poa_middleware
|
from web3.middleware import geth_poa_middleware
|
||||||
|
|
||||||
|
from ..blockchain import AvailableBlockchainType
|
||||||
from ..settings import MOONSTREAM_MOONWORM_TASKS_JOURNAL, bugout_client
|
from ..settings import MOONSTREAM_MOONWORM_TASKS_JOURNAL, bugout_client
|
||||||
|
from .continuous_crawler import continuous_crawler
|
||||||
from .crawler import (
|
from .crawler import (
|
||||||
|
SubscriptionTypes,
|
||||||
|
get_crawl_job_entries,
|
||||||
make_event_crawl_jobs,
|
make_event_crawl_jobs,
|
||||||
make_function_call_crawl_jobs,
|
make_function_call_crawl_jobs,
|
||||||
get_crawl_job_entries,
|
|
||||||
SubscriptionTypes,
|
|
||||||
)
|
)
|
||||||
from ..blockchain import AvailableBlockchainType
|
|
||||||
from .continuous_crawler import continuous_crawler
|
|
||||||
|
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
|
@ -4,13 +4,13 @@ import traceback
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from typing import Dict, List, Optional, Tuple
|
from typing import Dict, List, Optional, Tuple
|
||||||
|
|
||||||
from moonworm.crawler.moonstream_ethereum_state_provider import (
|
from moonworm.crawler.moonstream_ethereum_state_provider import ( # type: ignore
|
||||||
MoonstreamEthereumStateProvider,
|
MoonstreamEthereumStateProvider,
|
||||||
)
|
)
|
||||||
from moonworm.crawler.networks import Network
|
from moonworm.crawler.networks import Network # type: ignore
|
||||||
from sqlalchemy.orm.session import Session
|
from sqlalchemy.orm.session import Session
|
||||||
from sqlalchemy.sql.expression import and_
|
|
||||||
from web3 import Web3
|
from web3 import Web3
|
||||||
|
|
||||||
from ..blockchain import connect
|
from ..blockchain import connect
|
||||||
from ..data import AvailableBlockchainType
|
from ..data import AvailableBlockchainType
|
||||||
from .crawler import (
|
from .crawler import (
|
||||||
|
@ -24,10 +24,9 @@ from .crawler import (
|
||||||
merge_event_crawl_jobs,
|
merge_event_crawl_jobs,
|
||||||
merge_function_call_crawl_jobs,
|
merge_function_call_crawl_jobs,
|
||||||
)
|
)
|
||||||
|
from .db import save_events, save_function_calls
|
||||||
from .event_crawler import _crawl_events
|
from .event_crawler import _crawl_events
|
||||||
from .function_call_crawler import _crawl_functions
|
from .function_call_crawler import _crawl_functions
|
||||||
from .db import save_events, save_function_calls
|
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
|
@ -5,7 +5,6 @@ import time
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from os import SEEK_CUR
|
|
||||||
from typing import Any, Callable, Dict, List, Optional, cast
|
from typing import Any, Callable, Dict, List, Optional, cast
|
||||||
|
|
||||||
from bugout.data import BugoutSearchResult
|
from bugout.data import BugoutSearchResult
|
||||||
|
@ -16,7 +15,6 @@ from web3.main import Web3
|
||||||
|
|
||||||
from mooncrawl.data import AvailableBlockchainType
|
from mooncrawl.data import AvailableBlockchainType
|
||||||
|
|
||||||
from ..blockchain import connect, get_block_model, get_label_model
|
|
||||||
from ..reporter import reporter
|
from ..reporter import reporter
|
||||||
from ..settings import (
|
from ..settings import (
|
||||||
CRAWLER_LABEL,
|
CRAWLER_LABEL,
|
||||||
|
@ -78,33 +76,6 @@ class FunctionCallCrawlJob:
|
||||||
created_at: int
|
created_at: int
|
||||||
|
|
||||||
|
|
||||||
def _retry_connect_web3(
|
|
||||||
blockchain_type: AvailableBlockchainType,
|
|
||||||
retry_count: int = 10,
|
|
||||||
sleep_time: float = 5,
|
|
||||||
) -> Web3:
|
|
||||||
"""
|
|
||||||
Retry connecting to the blockchain.
|
|
||||||
"""
|
|
||||||
while retry_count > 0:
|
|
||||||
retry_count -= 1
|
|
||||||
try:
|
|
||||||
web3 = connect(blockchain_type)
|
|
||||||
web3.eth.block_number
|
|
||||||
logger.info(f"Connected to {blockchain_type}")
|
|
||||||
return web3
|
|
||||||
except Exception as e:
|
|
||||||
if retry_count == 0:
|
|
||||||
error = e
|
|
||||||
break
|
|
||||||
logger.error(f"Failed to connect to {blockchain_type} blockchain: {e}")
|
|
||||||
logger.info(f"Retrying in {sleep_time} seconds")
|
|
||||||
time.sleep(sleep_time)
|
|
||||||
raise Exception(
|
|
||||||
f"Failed to connect to {blockchain_type} blockchain after {retry_count} retries: {error}"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def get_crawl_job_entries(
|
def get_crawl_job_entries(
|
||||||
subscription_type: SubscriptionTypes,
|
subscription_type: SubscriptionTypes,
|
||||||
crawler_type: str,
|
crawler_type: str,
|
||||||
|
@ -313,11 +284,3 @@ def heartbeat(
|
||||||
entry_id=heartbeat_entry_id,
|
entry_id=heartbeat_entry_id,
|
||||||
tags=[crawler_type, "heartbeat", blockchain_type.value, "dead"],
|
tags=[crawler_type, "heartbeat", blockchain_type.value, "dead"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,7 @@ from moonstreamdb.models import (
|
||||||
PolygonLabel,
|
PolygonLabel,
|
||||||
PolygonTransaction,
|
PolygonTransaction,
|
||||||
)
|
)
|
||||||
from moonworm.crawler.function_call_crawler import (
|
from moonworm.crawler.function_call_crawler import ContractFunctionCall # type: ignore
|
||||||
ContractFunctionCall,
|
|
||||||
)
|
|
||||||
|
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from sqlalchemy.sql.expression import label
|
from sqlalchemy.sql.expression import label
|
||||||
|
|
||||||
|
|
|
@ -11,15 +11,15 @@ from moonstreamdb.models import (
|
||||||
PolygonLabel,
|
PolygonLabel,
|
||||||
PolygonTransaction,
|
PolygonTransaction,
|
||||||
)
|
)
|
||||||
from moonworm.crawler.function_call_crawler import (
|
from moonworm.crawler.function_call_crawler import ( # type: ignore
|
||||||
ContractFunctionCall,
|
ContractFunctionCall,
|
||||||
FunctionCallCrawler,
|
FunctionCallCrawler,
|
||||||
)
|
)
|
||||||
from moonworm.crawler.moonstream_ethereum_state_provider import (
|
from moonworm.crawler.moonstream_ethereum_state_provider import ( # type: ignore
|
||||||
MoonstreamEthereumStateProvider,
|
MoonstreamEthereumStateProvider,
|
||||||
)
|
)
|
||||||
from moonworm.crawler.networks import Network
|
from moonworm.crawler.networks import Network # type: ignore
|
||||||
from moonworm.cu_watch import MockState
|
from moonworm.cu_watch import MockState # type: ignore
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from web3 import Web3
|
from web3 import Web3
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue