From 5a24a517bb73f2053ee3a13a1297e551589e1e11 Mon Sep 17 00:00:00 2001 From: kompotkot Date: Wed, 31 Jan 2024 10:46:06 +0000 Subject: [PATCH] Deploy scripts for arbitrum nova crawlers --- crawlers/deploy/arbitrum-nova-missing.service | 11 +++++++ crawlers/deploy/arbitrum-nova-missing.timer | 9 ++++++ .../arbitrum-nova-moonworm-crawler.service | 17 ++++++++++ .../deploy/arbitrum-nova-synchronize.service | 17 ++++++++++ crawlers/deploy/deploy.bash | 32 +++++++++++++++++++ crawlers/deploy/monitoring-crawlers.service | 2 +- 6 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 crawlers/deploy/arbitrum-nova-missing.service create mode 100644 crawlers/deploy/arbitrum-nova-missing.timer create mode 100644 crawlers/deploy/arbitrum-nova-moonworm-crawler.service create mode 100644 crawlers/deploy/arbitrum-nova-synchronize.service diff --git a/crawlers/deploy/arbitrum-nova-missing.service b/crawlers/deploy/arbitrum-nova-missing.service new file mode 100644 index 00000000..c2679270 --- /dev/null +++ b/crawlers/deploy/arbitrum-nova-missing.service @@ -0,0 +1,11 @@ +[Unit] +Description=Fill missing blocks at Arbitrum Nova database +After=network.target + +[Service] +Type=oneshot +WorkingDirectory=/home/ubuntu/moonstream/crawlers/mooncrawl +EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env +ExecStart=/home/ubuntu/moonstream-env/bin/python -m mooncrawl.crawler --access-id "${NB_CONTROLLER_ACCESS_ID}" blocks missing --blockchain arbitrum_nova -n +CPUWeight=50 +SyslogIdentifier=arbitrum-nova-missing \ No newline at end of file diff --git a/crawlers/deploy/arbitrum-nova-missing.timer b/crawlers/deploy/arbitrum-nova-missing.timer new file mode 100644 index 00000000..e1ad1da8 --- /dev/null +++ b/crawlers/deploy/arbitrum-nova-missing.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Fill missing blocks at Arbitrum Nova database + +[Timer] +OnBootSec=120s +OnUnitActiveSec=15m + +[Install] +WantedBy=timers.target diff --git a/crawlers/deploy/arbitrum-nova-moonworm-crawler.service b/crawlers/deploy/arbitrum-nova-moonworm-crawler.service new file mode 100644 index 00000000..73accbd8 --- /dev/null +++ b/crawlers/deploy/arbitrum-nova-moonworm-crawler.service @@ -0,0 +1,17 @@ +[Unit] +Description=Arbitrum Nova moonworm crawler +After=network.target +StartLimitIntervalSec=300 +StartLimitBurst=3 + +[Service] +WorkingDirectory=/home/ubuntu/moonstream/crawlers/mooncrawl +EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env +Restart=on-failure +RestartSec=15s +ExecStart=/home/ubuntu/moonstream-env/bin/python -m mooncrawl.moonworm_crawler.cli --access-id "${NB_CONTROLLER_ACCESS_ID}" crawl -b arbitrum_nova --confirmations 10 --min-blocks-batch 20 +CPUWeight=70 +SyslogIdentifier=arbitrum-nova-moonworm-crawler + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/crawlers/deploy/arbitrum-nova-synchronize.service b/crawlers/deploy/arbitrum-nova-synchronize.service new file mode 100644 index 00000000..fe569eb7 --- /dev/null +++ b/crawlers/deploy/arbitrum-nova-synchronize.service @@ -0,0 +1,17 @@ +[Unit] +Description=Arbitrum Nova block with transactions synchronizer +StartLimitIntervalSec=300 +StartLimitBurst=3 +After=network.target + +[Service] +Restart=on-failure +RestartSec=15s +WorkingDirectory=/home/ubuntu/moonstream/crawlers/mooncrawl +EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env +ExecStart=/home/ubuntu/moonstream-env/bin/python -m mooncrawl.crawler --access-id "${NB_CONTROLLER_ACCESS_ID}" blocks synchronize --blockchain arbitrum_nova -c 10 -j 2 +CPUWeight=90 +SyslogIdentifier=arbitrum-nova-synchronize + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/crawlers/deploy/deploy.bash b/crawlers/deploy/deploy.bash index 9f883381..28f323e4 100755 --- a/crawlers/deploy/deploy.bash +++ b/crawlers/deploy/deploy.bash @@ -122,6 +122,12 @@ ZKSYNC_ERA_TESTNET_HISTORICAL_CRAWL_TRANSACTIONS_TIMER_FILE="zksync-era-testnet- ZKSYNC_ERA_TESTNET_HISTORICAL_CRAWL_EVENTS_SERVICE_FILE="zksync-era-testnet-historical-crawl-events.service" ZKSYNC_ERA_TESTNET_HISTORICAL_CRAWL_EVENTS_TIMER_FILE="zksync-era-testnet-historical-crawl-events.timer" +# Arbitrum Nova +ARBITRUM_NOVA_MISSING_SERVICE_FILE="arbitrum-nova-missing.service" +ARBITRUM_NOVA_MISSING_TIMER_FILE="arbitrum-nova-missing.timer" +ARBITRUM_NOVA_MOONWORM_CRAWLER_SERVICE_FILE="arbitrum-nova-moonworm-crawler.service" +ARBITRUM_NOVA_SYNCHRONIZE_SERVICE="arbitrum-nova-synchronize.service" + set -eu echo @@ -584,3 +590,29 @@ cp "${SCRIPT_DIR}/${LEADERBOARDS_WORKER_SERVICE_FILE}" "/home/ubuntu/.config/sys cp "${SCRIPT_DIR}/${LEADERBOARDS_WORKER_TIMER_FILE}" "/home/ubuntu/.config/systemd/user/${LEADERBOARDS_WORKER_TIMER_FILE}" XDG_RUNTIME_DIR="/run/user/1000" systemctl --user daemon-reload XDG_RUNTIME_DIR="/run/user/1000" systemctl --user restart --no-block "${LEADERBOARDS_WORKER_TIMER_FILE}" + +# Arbitrum Nova +echo +echo +echo -e "${PREFIX_INFO} Replacing existing Arbitrum Nova block with transactions syncronizer service definition with ${ARBITRUM_NOVA_SYNCHRONIZE_SERVICE}" +chmod 644 "${SCRIPT_DIR}/${ARBITRUM_NOVA_SYNCHRONIZE_SERVICE}" +cp "${SCRIPT_DIR}/${ARBITRUM_NOVA_SYNCHRONIZE_SERVICE}" "/home/ubuntu/.config/systemd/user/${ARBITRUM_NOVA_SYNCHRONIZE_SERVICE}" +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user daemon-reload +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user restart --no-block "${ARBITRUM_NOVA_SYNCHRONIZE_SERVICE}" + +echo +echo +echo -e "${PREFIX_INFO} Replacing existing Arbitrum Nova missing service and timer with: ${ARBITRUM_NOVA_MISSING_SERVICE_FILE}, ${ARBITRUM_NOVA_MISSING_TIMER_FILE}" +chmod 644 "${SCRIPT_DIR}/${ARBITRUM_NOVA_MISSING_SERVICE_FILE}" "${SCRIPT_DIR}/${ARBITRUM_NOVA_MISSING_TIMER_FILE}" +cp "${SCRIPT_DIR}/${ARBITRUM_NOVA_MISSING_SERVICE_FILE}" "/home/ubuntu/.config/systemd/user/${ARBITRUM_NOVA_MISSING_SERVICE_FILE}" +cp "${SCRIPT_DIR}/${ARBITRUM_NOVA_MISSING_TIMER_FILE}" "/home/ubuntu/.config/systemd/user/${ARBITRUM_NOVA_MISSING_TIMER_FILE}" +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user daemon-reload +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user restart --no-block "${ARBITRUM_NOVA_MISSING_TIMER_FILE}" + +echo +echo +echo -e "${PREFIX_INFO} Replacing existing Arbitrum Nova moonworm crawler service definition with ${ARBITRUM_NOVA_MOONWORM_CRAWLER_SERVICE_FILE}" +chmod 644 "${SCRIPT_DIR}/${ARBITRUM_NOVA_MOONWORM_CRAWLER_SERVICE_FILE}" +cp "${SCRIPT_DIR}/${ARBITRUM_NOVA_MOONWORM_CRAWLER_SERVICE_FILE}" "/home/ubuntu/.config/systemd/user/${ARBITRUM_NOVA_MOONWORM_CRAWLER_SERVICE_FILE}" +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user daemon-reload +XDG_RUNTIME_DIR="/run/user/1000" systemctl --user restart --no-block "${ARBITRUM_NOVA_MOONWORM_CRAWLER_SERVICE_FILE}" diff --git a/crawlers/deploy/monitoring-crawlers.service b/crawlers/deploy/monitoring-crawlers.service index 5a5aa09f..d1ce9dac 100644 --- a/crawlers/deploy/monitoring-crawlers.service +++ b/crawlers/deploy/monitoring-crawlers.service @@ -9,7 +9,7 @@ Restart=on-failure RestartSec=15s WorkingDirectory=/home/ubuntu/ EnvironmentFile=/home/ubuntu/moonstream-secrets/monitoring.env -ExecStart=/home/ubuntu/monitoring -plugin systemd -host "${AWS_LOCAL_IPV4}" -port 7171 -healthcheck -server -threshold 3 -config /home/ubuntu/.monitoring/monitoring-crawlers-config.json -service ethereum-moonworm-crawler.service -service mumbai-moonworm-crawler.service -service polygon-moonworm-crawler.service -service zksync-era-moonworm-crawler.service +ExecStart=/home/ubuntu/monitoring -plugin systemd -host "${AWS_LOCAL_IPV4}" -port 7171 -healthcheck -server -threshold 3 -config /home/ubuntu/.monitoring/monitoring-crawlers-config.json -service ethereum-moonworm-crawler.service -service mumbai-moonworm-crawler.service -service polygon-moonworm-crawler.service -service zksync-era-moonworm-crawler.service -service arbitrum-nova-moonworm-crawler.service CPUWeight=90 SyslogIdentifier=monitoring-crawlers