Skip to content

Commit 62d786a

Browse files
Merge pull request #739 from bugout-dev/metadata-crawler-improvements
Add fixes for metadata crawler
2 parents 0afd4c6 + fa7c0f9 commit 62d786a

File tree

5 files changed

+39
-3
lines changed

5 files changed

+39
-3
lines changed

crawlers/deploy/deploy.bash

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ MUMBAI_STATE_SERVICE_FILE="mumbai-state.service"
6262
MUMBAI_STATE_TIMER_FILE="mumbai-state.timer"
6363
MUMBAI_STATE_CLEAN_SERVICE_FILE="mumbai-state-clean.service"
6464
MUMBAI_STATE_CLEAN_TIMER_FILE="mumbai-state-clean.timer"
65+
MUMBAI_METADATA_SERVICE_FILE="mumbai-metadata.service"
66+
MUMBAI_METADATA_TIMER_FILE="mumbai-metadata.timer"
6567

6668
# XDai service files
6769
XDAI_SYNCHRONIZE_SERVICE="xdai-synchronize.service"
@@ -312,4 +314,14 @@ chmod 644 "${SCRIPT_DIR}/${MUMBAI_STATE_CLEAN_SERVICE_FILE}" "${SCRIPT_DIR}/${MU
312314
cp "${SCRIPT_DIR}/${MUMBAI_STATE_CLEAN_SERVICE_FILE}" "/etc/systemd/system/${MUMBAI_STATE_CLEAN_SERVICE_FILE}"
313315
cp "${SCRIPT_DIR}/${MUMBAI_STATE_CLEAN_TIMER_FILE}" "/etc/systemd/system/${MUMBAI_STATE_CLEAN_TIMER_FILE}"
314316
systemctl daemon-reload
315-
systemctl restart --no-block "${MUMBAI_STATE_CLEAN_TIMER_FILE}"
317+
systemctl restart --no-block "${MUMBAI_STATE_CLEAN_TIMER_FILE}"
318+
319+
320+
echo
321+
echo
322+
echo -e "${PREFIX_INFO} Replacing existing MUMBAI metadata service and timer with: ${MUMBAI_METADATA_SERVICE_FILE}, ${MUMBAI_METADATA_TIMER_FILE}"
323+
chmod 644 "${SCRIPT_DIR}/${MUMBAI_METADATA_SERVICE_FILE}" "${SCRIPT_DIR}/${MUMBAI_METADATA_TIMER_FILE}"
324+
cp "${SCRIPT_DIR}/${MUMBAI_METADATA_SERVICE_FILE}" "/etc/systemd/system/${MUMBAI_METADATA_SERVICE_FILE}"
325+
cp "${SCRIPT_DIR}/${MUMBAI_METADATA_TIMER_FILE}" "/etc/systemd/system/${MUMBAI_METADATA_TIMER_FILE}"
326+
systemctl daemon-reload
327+
systemctl restart --no-block "${MUMBAI_METADATA_TIMER_FILE}"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[Unit]
2+
Description=Execute metadata crawler
3+
After=network.target
4+
5+
[Service]
6+
Type=oneshot
7+
User=ubuntu
8+
Group=www-data
9+
WorkingDirectory=/home/ubuntu/moonstream/crawlers/mooncrawl
10+
EnvironmentFile=/home/ubuntu/moonstream-secrets/app.env
11+
ExecStart=/home/ubuntu/moonstream-env/bin/python -m mooncrawl.metadata_crawler.cli crawl --blockchain mumbai
12+
CPUWeight=60
13+
SyslogIdentifier=mumbai-metadata
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[Unit]
2+
Description=Execute Mumbai metadata crawler each 10m
3+
4+
[Timer]
5+
OnBootSec=20s
6+
OnUnitActiveSec=60m
7+
8+
[Install]
9+
WantedBy=timers.target

crawlers/mooncrawl/mooncrawl/metadata_crawler/cli.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def crawl_uri(metadata_uri: str) -> Any:
3939
while retry < 3:
4040
try:
4141

42-
response = urllib.request.urlopen(metadata_uri, timeout=5)
42+
response = urllib.request.urlopen(metadata_uri, timeout=10)
4343

4444
if response.status == 200:
4545
result = json.loads(response.read())
@@ -52,6 +52,7 @@ def crawl_uri(metadata_uri: str) -> Any:
5252
continue
5353
except Exception as err:
5454
logger.error(err)
55+
logger.error(f"request end with error for url: {metadata_uri}")
5556
retry += 1
5657
continue
5758
return result

crawlers/mooncrawl/mooncrawl/metadata_crawler/db.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,13 @@ def get_uris_of_tokens(
9696
results = [
9797
TokenURIs(
9898
token_id=data[0],
99-
token_uri=data[1],
99+
token_uri=data[1][0],
100100
block_number=data[2],
101101
block_timestamp=data[3],
102102
address=data[4],
103103
)
104104
for data in metadata_for_parsing
105+
if data[1] is not None and len(data[1]) > 0
105106
]
106107

107108
return results

0 commit comments

Comments
 (0)