From 8f9bfef677898802b1734307306cb65f791f8178 Mon Sep 17 00:00:00 2001 From: Dowland Aiello Date: Mon, 14 Oct 2024 21:17:27 +0000 Subject: [PATCH] Allow more concurrent skip calls. --- local-interchaintest/tests/transfer_neutron.py | 6 +++--- local-interchaintest/tests/transfer_osmosis.py | 6 +++--- main.py | 4 ++-- src/scheduler.py | 4 ++-- tests/util.py | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/local-interchaintest/tests/transfer_neutron.py b/local-interchaintest/tests/transfer_neutron.py index a09c04ec..3bc67c25 100644 --- a/local-interchaintest/tests/transfer_neutron.py +++ b/local-interchaintest/tests/transfer_neutron.py @@ -1,9 +1,9 @@ import json import asyncio -from asyncio import Lock +from asyncio import Semaphore from typing import Any from src.strategies.util import transfer_raw -from src.scheduler import Ctx +from src.scheduler import Ctx, MAX_SKIP_CONCURRENT_CALLS from src.util import try_multiple_clients from src.util import custom_neutron_network_config import aiohttp @@ -49,7 +49,7 @@ async def main() -> None: denoms, {}, {}, - Lock(), + Semaphore(MAX_SKIP_CONCURRENT_CALLS), ) await transfer_raw( diff --git a/local-interchaintest/tests/transfer_osmosis.py b/local-interchaintest/tests/transfer_osmosis.py index a74a2a01..61ab1237 100644 --- a/local-interchaintest/tests/transfer_osmosis.py +++ b/local-interchaintest/tests/transfer_osmosis.py @@ -1,9 +1,9 @@ import json -from asyncio import Lock +from asyncio import Semaphore import asyncio from typing import Any from src.strategies.util import transfer_raw -from src.scheduler import Ctx +from src.scheduler import Ctx, MAX_SKIP_CONCURRENT_CALLS from src.util import try_multiple_clients from src.util import custom_neutron_network_config import aiohttp @@ -49,7 +49,7 @@ async def main() -> None: denoms, {}, {}, - Lock(), + Semaphore(MAX_SKIP_CONCURRENT_CALLS), ) await transfer_raw( diff --git a/main.py b/main.py index 9bd9b146..a42d382c 100644 --- a/main.py +++ b/main.py @@ -4,7 +4,7 @@ Implements a command-line interface for running arbitrage strategies. """ -from asyncio import Lock +from asyncio import Semaphore import traceback import asyncio from multiprocessing import Process @@ -215,7 +215,7 @@ async def main() -> None: chain_id: load_chain_info(info) for (chain_id, info) in denom_file["chain_info"].items() }, - Lock(), + Semaphore(), ).recover_history() sched = Scheduler(ctx, strategy) diff --git a/src/scheduler.py b/src/scheduler.py index 36e0e1fa..8e6259ee 100644 --- a/src/scheduler.py +++ b/src/scheduler.py @@ -2,7 +2,7 @@ Implements a strategy runner with an arbitrary provider set in an event-loop style. """ -from asyncio import Lock +from asyncio import Semaphore import logging from datetime import datetime import json @@ -62,7 +62,7 @@ class Ctx(Generic[TState]): denom_map: dict[str, list[DenomChainInfo]] denom_routes: dict[str, dict[str, list[DenomRouteLeg]]] chain_info: dict[str, ChainInfo] - http_session_lock: Lock + http_session_lock: Semaphore def with_state(self, state: Any) -> Self: """ diff --git a/tests/util.py b/tests/util.py index 87aaae46..72a2ec4c 100644 --- a/tests/util.py +++ b/tests/util.py @@ -1,4 +1,4 @@ -from asyncio import Lock +from asyncio import Semaphore from typing import Any, cast, AsyncIterator import json import aiohttp @@ -6,7 +6,7 @@ from contextlib import asynccontextmanager from cosmpy.aerial.client import LedgerClient, NetworkConfig from cosmpy.aerial.wallet import LocalWallet -from src.scheduler import Ctx +from src.scheduler import Ctx, MAX_SKIP_CONCURRENT_CALLS from src.util import ( DISCOVERY_CONCURRENCY_FACTOR, NEUTRON_NETWORK_CONFIG, @@ -109,5 +109,5 @@ async def ctx() -> AsyncIterator[Ctx[Any]]: denom_map={}, denom_routes={}, chain_info={}, - http_session_lock=Lock(), + http_session_lock=Semaphore(MAX_SKIP_CONCURRENT_CALLS), ).with_state(State(1000))