From f8954ba1e80234359aac17319f19f489d92db2a8 Mon Sep 17 00:00:00 2001 From: nofir Date: Mon, 25 Nov 2024 11:49:45 -0500 Subject: [PATCH] feat: element fixes --- src/config/index.ts | 8 ++++++-- src/jobs/element-sync/index.ts | 10 +++++----- src/jobs/element-sync/queues/backfill-queue-offers.ts | 2 +- src/jobs/element-sync/queues/backfill-queue.ts | 2 +- src/jobs/element-sync/queues/realtime-queue-offers.ts | 2 +- src/jobs/element-sync/queues/realtime-queue.ts | 2 +- src/jobs/element-sync/utils.ts | 2 +- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/config/index.ts b/src/config/index.ts index f8fc41f..19a4e33 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -14,8 +14,7 @@ export const config = { ), x2y2ApiKey: String(process.env.X2Y2_API_KEY), looksrareApiKey: String(process.env.LOOKSRARE_API_KEY), - elementApiKey: String(process.env.ELEMENT_API_KEY), - elementChainName: process.env.ELEMENT_CHAIN_NAME, + blurApiKey: String(process.env.BLUR_API_KEY), openseaNftApiKey: String(process.env.OPENSEA_NFT_API_KEY), @@ -30,6 +29,11 @@ export const config = { okxChainName: process.env.OKX_CHAIN_NAME, doOkxWork: Boolean(Number(process.env.DO_OKX_WORK || 1)), + // Element + elementApiKey: String(process.env.ELEMENT_API_KEY), + elementChainName: process.env.ELEMENT_CHAIN_NAME, + doElementWork: Boolean(Number(process.env.DO_ELEMENT_WORK || 1)), + doBackgroundWork: Boolean(Number(process.env.DO_BACKGROUND_WORK)), doBackfillWork: Boolean(Number(process.env.DO_BACKFILL_WORK)), doRealtimeWork: Boolean(Number(process.env.DO_REALTIME_WORK)), diff --git a/src/jobs/element-sync/index.ts b/src/jobs/element-sync/index.ts index e4f2ef4..6dc5c45 100644 --- a/src/jobs/element-sync/index.ts +++ b/src/jobs/element-sync/index.ts @@ -8,10 +8,10 @@ import { acquireLock, redis } from "../../common/redis"; import { config } from "../../config"; import { Element } from "../../utils/element"; -if (config.doRealtimeWork) { - cron.schedule("*/5 * * * * *", async () => { +if (config.doRealtimeWork && config.doElementWork) { + cron.schedule("*/1 * * * *", async () => { if (new Element().getChainName()) { - const lockAcquired = await acquireLock("element-sync-lock", 60 * 5); + const lockAcquired = await acquireLock("element-sync-lock", 60 - 5); if (lockAcquired) { const cacheKey = "element-sync-cursor"; const cursor = await redis.get(cacheKey); @@ -31,11 +31,11 @@ if (config.doRealtimeWork) { } }); - cron.schedule("*/30 * * * * *", async () => { + cron.schedule("*/1 * * * *", async () => { if (new Element().getChainName()) { const lockAcquired = await acquireLock( "element-sync-offers-lock", - 60 * 5 + 60 - 5 ); if (lockAcquired) { const cacheKey = "element-sync-offers-cursor"; diff --git a/src/jobs/element-sync/queues/backfill-queue-offers.ts b/src/jobs/element-sync/queues/backfill-queue-offers.ts index 80d98e3..b4fe723 100644 --- a/src/jobs/element-sync/queues/backfill-queue-offers.ts +++ b/src/jobs/element-sync/queues/backfill-queue-offers.ts @@ -22,7 +22,7 @@ export const backfillQueue = new Queue(BACKFILL_QUEUE_NAME, { }); new QueueScheduler(BACKFILL_QUEUE_NAME, { connection: redis.duplicate() }); -if (config.doBackfillWork) { +if (config.doBackfillWork && config.doElementWork) { const backfillWorker = new Worker( BACKFILL_QUEUE_NAME, async (job: Job) => { diff --git a/src/jobs/element-sync/queues/backfill-queue.ts b/src/jobs/element-sync/queues/backfill-queue.ts index 5ced0ac..dc66639 100644 --- a/src/jobs/element-sync/queues/backfill-queue.ts +++ b/src/jobs/element-sync/queues/backfill-queue.ts @@ -22,7 +22,7 @@ export const backfillQueue = new Queue(BACKFILL_QUEUE_NAME, { }); new QueueScheduler(BACKFILL_QUEUE_NAME, { connection: redis.duplicate() }); -if (config.doBackfillWork) { +if (config.doBackfillWork && config.doElementWork) { const backfillWorker = new Worker( BACKFILL_QUEUE_NAME, async (job: Job) => { diff --git a/src/jobs/element-sync/queues/realtime-queue-offers.ts b/src/jobs/element-sync/queues/realtime-queue-offers.ts index 9f02025..40e6618 100644 --- a/src/jobs/element-sync/queues/realtime-queue-offers.ts +++ b/src/jobs/element-sync/queues/realtime-queue-offers.ts @@ -21,7 +21,7 @@ export const realtimeQueue = new Queue(REALTIME_QUEUE_NAME, { }); new QueueScheduler(REALTIME_QUEUE_NAME, { connection: redis.duplicate() }); -if (config.doRealtimeWork) { +if (config.doRealtimeWork && config.doElementWork) { const realtimeWorker = new Worker( REALTIME_QUEUE_NAME, async (job: Job) => { diff --git a/src/jobs/element-sync/queues/realtime-queue.ts b/src/jobs/element-sync/queues/realtime-queue.ts index 4091e92..d74cf7f 100644 --- a/src/jobs/element-sync/queues/realtime-queue.ts +++ b/src/jobs/element-sync/queues/realtime-queue.ts @@ -22,7 +22,7 @@ export const realtimeQueue = new Queue(REALTIME_QUEUE_NAME, { }); new QueueScheduler(REALTIME_QUEUE_NAME, { connection: redis.duplicate() }); -if (config.doRealtimeWork) { +if (config.doRealtimeWork && config.doElementWork) { const realtimeWorker = new Worker( REALTIME_QUEUE_NAME, async (job: Job) => { diff --git a/src/jobs/element-sync/utils.ts b/src/jobs/element-sync/utils.ts index 5ce0b58..30bd932 100644 --- a/src/jobs/element-sync/utils.ts +++ b/src/jobs/element-sync/utils.ts @@ -66,7 +66,7 @@ export const fetchOrders = async ( ) { parsedOrders.push({ order: parsedOrder, - originatedAt: new Date(order.createTime).toISOString(), + originatedAt: new Date(order.createTime * 1000).toISOString(), }); }