Skip to content

Allow the SaveWorker to break save attempt on timeout for a completed task #3239

Description

@T3mp3lis

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions