Is your feature request related to a problem? Please describe.
The way SaveWorker is made right now, if the save task doesnt complete for any reason, the lock is never released, causing the server to hang. Players are booted from the server, console is unresponsive. If using docker, it cant even kill the process. I suspect it's the busy io delay in my setup that causes the issue, but having an option for a timeout on save attempt seems reasonable.
Describe the solution you'd like
Add a 30-60 sec timeout for save task, and if it runs out, break the save attempt with an exception. It should not break the auto-saving fucntionality, since we reset the timer for each consecutive save in the queue anyway
Describe alternatives you've considered
I have made a wrapper script that pauses auto-saves through restapi during high load on my disk, but I couldnt predict all the spikes that my setup could have
Additional context
None
Is your feature request related to a problem? Please describe.
The way SaveWorker is made right now, if the save task doesnt complete for any reason, the lock is never released, causing the server to hang. Players are booted from the server, console is unresponsive. If using docker, it cant even kill the process. I suspect it's the busy io delay in my setup that causes the issue, but having an option for a timeout on save attempt seems reasonable.
Describe the solution you'd like
Add a 30-60 sec timeout for save task, and if it runs out, break the save attempt with an exception. It should not break the auto-saving fucntionality, since we reset the timer for each consecutive save in the queue anyway
Describe alternatives you've considered
I have made a wrapper script that pauses auto-saves through restapi during high load on my disk, but I couldnt predict all the spikes that my setup could have
Additional context
None