From f351b50d563a5675a9d697293542e128db58e419 Mon Sep 17 00:00:00 2001 From: HugoRCD Date: Sun, 29 Dec 2024 12:13:24 +0100 Subject: [PATCH] feat: Init sync Mongo and Rabbit task --- apps/formatter/nitro.config.ts | 9 ++++++++- apps/formatter/package.json | 3 ++- apps/formatter/server/tasks/sync/mongo.ts | 16 ++++++++++++++++ packages/mongo/index.ts | 1 + 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 apps/formatter/server/tasks/sync/mongo.ts diff --git a/apps/formatter/nitro.config.ts b/apps/formatter/nitro.config.ts index 88203c6..627a23a 100644 --- a/apps/formatter/nitro.config.ts +++ b/apps/formatter/nitro.config.ts @@ -1,7 +1,14 @@ //https://nitro.unjs.io/config export default defineNitroConfig({ srcDir: 'server', + experimental: { tasks: true - } + }, + + scheduledTasks: { + '* * * * *': ['sync:mongo'] + }, + + compatibilityDate: '2024-12-29' }) diff --git a/apps/formatter/package.json b/apps/formatter/package.json index 102fbab..e1dec19 100644 --- a/apps/formatter/package.json +++ b/apps/formatter/package.json @@ -5,7 +5,8 @@ "build": "nitro build", "dev": "nitro dev", "prepare": "nitro prepare", - "preview": "node .output/server/index.mjs" + "preview": "node .output/server/index.mjs", + "sync:mongo": "nitro task run sync:mongo" }, "devDependencies": { "nitropack": "latest", diff --git a/apps/formatter/server/tasks/sync/mongo.ts b/apps/formatter/server/tasks/sync/mongo.ts new file mode 100644 index 0000000..9549f09 --- /dev/null +++ b/apps/formatter/server/tasks/sync/mongo.ts @@ -0,0 +1,16 @@ +import { MongoDBClient } from '@currencia/mongo' + +export default defineTask({ + meta: { + name: 'sync:mongo', + description: 'Send MongoID to RabbitMQ', + }, + async run() { + const client = await MongoDBClient.create() + console.log('Syncing MongoID to RabbitMQ') + const price = await client.getLatestPrices() + console.log('Price:', price) + console.log('Ids to sync:', price?._id) + return { result: 'Success' } + }, +}) diff --git a/packages/mongo/index.ts b/packages/mongo/index.ts index c00367f..bd67e16 100644 --- a/packages/mongo/index.ts +++ b/packages/mongo/index.ts @@ -9,6 +9,7 @@ type MongoConfig = { } type PriceDocument = { + _id?: string timestamp: Date prices: Record }