From 88fac002fdf76890a3410cd1af5682bcc82e789a Mon Sep 17 00:00:00 2001 From: dvelo <52332868+DeveloLongScript@users.noreply.github.com> Date: Thu, 8 Aug 2024 16:16:32 -0500 Subject: [PATCH] fix: improvements to `inngest` --- src/pages/api/inngest.ts | 41 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/src/pages/api/inngest.ts b/src/pages/api/inngest.ts index 14d6864..f119c22 100644 --- a/src/pages/api/inngest.ts +++ b/src/pages/api/inngest.ts @@ -16,7 +16,7 @@ export default serve({ client: inngest, functions: [ inngest.createFunction( - { id: "every-30-min" }, + { id: "short-term-data" }, [{ cron: "*/30 * * * *" }, { event: "test/30-min" }], async ({ event, step }) => { const mongo = new MongoClient(process.env.MONGO_DB as string); @@ -44,37 +44,34 @@ export default serve({ const mha = mongo.db("mhsf").collection("mh"); const meta = mongo.db("mhsf").collection("meta"); const dbl = mongo.db("mhsf").collection("history"); + mha.insertOne({ total_players: mh.total_players, total_servers: mh.total_servers, unix: Date.now(), }); + mh.servers.forEach(async (server: OnlineServer, i: number) => { - const favorites = (async () => { - const result = await meta.find({ server: server.name }).toArray(); - if (result.length == 0) { - return 0; - } - return result[0].favorites; - })(); - const result = await favorites; - - dbl.insertOne({ - player_count: server.playerData.playerCount, - favorites: result, + const serverFavoritesObject = await meta.findOne({ server: server.name, - time: Date.now(), }); + let favorites = 0; + if (serverFavoritesObject != undefined) + favorites = serverFavoritesObject.favorites; - if (i == mh.servers.length) { - mongo.close(); - - return { - event, - body: "Finished adding " + mh.servers.length + " servers.", - }; - } + await dbl.insertOne({ + player_count: server.playerData.playerCount, + favorites, + server: server.name, + date: new Date(), + }); }); + mongo.close(); + + return { + event, + body: "Finished adding " + mh.servers.length + " servers.", + }; } catch (e) { mongo.close(); return { event, body: "Cloudflare.. aborting " + e };