-
Notifications
You must be signed in to change notification settings - Fork 4
Description
🔖 Versions
[22:23:26 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[22:23:26 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[22:23:26 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[22:23:26 INFO]: [Skript] Server Version: 1.20.6-2232-f1c87e4 (MC: 1.20.6)
[22:23:26 INFO]: [Skript] Skript Version: 2.8.6 (skriptlang-github)
[22:23:26 INFO]: [Skript] Installed Skript Addons:
[22:23:26 INFO]: [Skript] - Skript-AnvilGUI v1.9
[22:23:26 INFO]: [Skript] - skript-gui v1.3 (https://github.com/APickledWalrus/skript-gui)
[22:23:26 INFO]: [Skript] - DiSky v4.17.2
[22:23:26 INFO]: [Skript] - MongoSK v2.3.2 (https://github.com/Romitou/MongoSK)
[22:23:26 INFO]: [Skript] - skript-reflect v2.4 (https://github.com/SkriptLang/skript-reflect)
[22:23:26 INFO]: [Skript] - SkQuery v4.1.10
[22:23:26 INFO]: [Skript] - SkBee v3.5.3 (https://github.com/ShaneBeee/SkBee)
[22:23:26 INFO]: [Skript] - SkriptJSON v1.0.0
[22:23:26 INFO]: [Skript] Installed dependencies:
[22:23:26 INFO]: [Skript] - Vault v1.7.3-b131
[22:23:26 INFO]: [Skript] - WorldGuard v7.0.10+d9424b1
✒️ Description
Hi - first of all, great project you have here! I've used MongoSK for a while and it's always been quite stable, until I started doing more operations per second on it. Specifically, we migrated many variables like tokens and fishing, into MongoDB because of its superior scalability compared to Skript's inbuilt data storage. I've been having crashes every few hours, always with the same message. It looks like it's just timing out waiting on the database, but we are running a pretty stable database on the same machine, and our network (Hetzner) very rarely has issues with stability. I've set the read and connect timeouts to 60000ms just to try to prevent crashing, with no luck. I'm out of ideas for what's happening here.
Code that we use to manipulate mongodb:
function mongo_getPlayer(p: offline player) :: object:
set {_doc} to first mongo document with mongosk filter where field "_id" is uuid of {_p} of collection {-Database::playersCollection}
if {_doc} is not set:
ug_newPlayer({_p}) # this is a function from our gencore, don't need to worry about this!
return {_doc}
function mongo_getMultiplier(p: player) :: object:
set {_doc} to mongo_getPlayer({_p})
set {_item} to mongo value "stats_multiplier" of {_doc}
if {_item} is not set:
set mongo value "stats_multiplier" of {_doc} to 1
update mongo document {_doc} of {-Database::playersCollection}
return {_item}
function mongo_setMultiplier(p: player, i: number):
set {_doc} to mongo_getPlayer({_p})
set mongo value "stats_multiplier" of {_doc} to {_i}
update mongo document {_doc} of {-Database::playersCollection}
⚙️ Expected behavior
Stability was expected, as mongosk has typically been very stable with my server
🔎 Steps to reproduce
Code is posted in the description section, but I think it occurs when you are writing a lot to the database at the same time.
📸 Errors or screenshots
🤔 Other
No response