aboutsummaryrefslogtreecommitdiff
path: root/174bg/database/volumes/pocketbase/pb_hooks/heartbeat.pb.js
diff options
context:
space:
mode:
authorAlex Pooley (@zuedev) <zuedev@gmail.com>2026-07-24 19:50:03 +0100
committerAlex Pooley (@zuedev) <zuedev@gmail.com>2026-07-24 19:50:03 +0100
commit0fbea08df793bf7f691e48f0e03203ca9142cd6e (patch)
treeaed92280f00c5c0c3312d6032051278e53608dc9 /174bg/database/volumes/pocketbase/pb_hooks/heartbeat.pb.js
parent8ce0de9b388e67890f7d495785c715dd200d9afb (diff)
downloadunnamed-group-0fbea08df793bf7f691e48f0e03203ca9142cd6e.tar
unnamed-group-0fbea08df793bf7f691e48f0e03203ca9142cd6e.tar.gz
unnamed-group-0fbea08df793bf7f691e48f0e03203ca9142cd6e.tar.bz2
unnamed-group-0fbea08df793bf7f691e48f0e03203ca9142cd6e.tar.xz
unnamed-group-0fbea08df793bf7f691e48f0e03203ca9142cd6e.zip
rename main to heartbeat
Diffstat (limited to '174bg/database/volumes/pocketbase/pb_hooks/heartbeat.pb.js')
-rw-r--r--174bg/database/volumes/pocketbase/pb_hooks/heartbeat.pb.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/174bg/database/volumes/pocketbase/pb_hooks/heartbeat.pb.js b/174bg/database/volumes/pocketbase/pb_hooks/heartbeat.pb.js
new file mode 100644
index 0000000..b7d385d
--- /dev/null
+++ b/174bg/database/volumes/pocketbase/pb_hooks/heartbeat.pb.js
@@ -0,0 +1,29 @@
+routerAdd("GET", "/heartbeat", (e) => {
+ try {
+ const result = new DynamicModel({
+ "value": nullString(),
+ })
+
+ let dateNow = Date.now();
+
+ try {
+ $app.db()
+ .newQuery(`SELECT value FROM key_value_store WHERE key = "heartbeat"`)
+ .one(result);
+ } catch (error) {
+ return e.json(404, { "error": "Heartbeat not found" });
+ }
+
+ let heartbeatValue = parseInt(result.value);
+ let timeDifference = dateNow - heartbeatValue;
+ let withinThreshold = timeDifference <= 60000; // 60 seconds threshold
+
+ return e.json(200, { "timeDifference": timeDifference, "withinThreshold": withinThreshold });
+ } catch (error) {
+ return e.json(500, { "error": "Internal Server Error", "details": error.message });
+ }
+});
+
+cronAdd("heartbeat", "* * * * *", () => {
+ $app.db().newQuery(`UPDATE key_value_store SET value = ${Date.now()} WHERE key = "heartbeat"`).execute()
+}) \ No newline at end of file