Skip to content
This repository was archived by the owner on Apr 24, 2024. It is now read-only.

Commit 2494460

Browse files
committed
feat: load balancer
1 parent 3db488b commit 2494460

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

src/modules/gpt-api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,9 @@ async function chat(message) {
117117
}
118118
await delay(1000);
119119
}
120+
console.log(message);
120121
try {
121122
var response = await client.chat(message);
122-
123123
return response;
124124
} catch (err) {
125125
console.log(err);

src/modules/loadbalancer.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import ms from "ms";
2+
import supabase from "./supabase.js";
3+
4+
async function getTokens() {
5+
let { data: sessiontokens, error } = await supabase
6+
.from("sessiontokens")
7+
.select("*");
8+
if (error) return error;
9+
10+
return sessiontokens;
11+
}
12+
13+
async function reloadTokens() {
14+
var tokens = await getTokens();
15+
var t = tokens.filter((x) => x.lastUse != null);
16+
for (var i = 0; i < t.length; i++) {
17+
var token = t[i];
18+
var now = Date.now();
19+
var diff = token.lastUse - now;
20+
if (diff >= ms("20min")) {
21+
const { data, error } = await supabase
22+
.from("sessiontokens")
23+
.update({ lastUse: null, messages: 0, totalMessages: 0 })
24+
.eq("id", t.id);
25+
}
26+
}
27+
}

0 commit comments

Comments
 (0)