Make workers assign work to closer idle workers

Avatar
  • mis à jour
  • Écarté

When workers have taken a task it's locked to that worker pretty much forever. I would much more prefer that if there's a worker that is much closer to a task that the worker farther away gave it's work to the closer worker to improve speed of doing things.

Game Version:
Steam Public
Platform:
Linux
Avatar
Stefan Furcht Programmer

It could have looked like this because idle workers only try each 4 seconds to find a new task to not hurt performance with task queries while just being idle and maybe there aren't even any tasks.
So maybe inbetween these 4 seconds a task popped in proximity, but another worker which was further away took the task before the idle worker even tried.
While this is a little accuracy issue, it wont cause any issues in a larger scope.
If an idle worker is really much nearer to a task than all other workers then another worker wont make it in time to become nearer inbetween 4 seconds and the idle worker will correctly take over.
At least I guess this was the effect encountered here.

Avatar
Andrew "Nutter" Jaggar
  • Écarté

I'll mark it as declined for now then, but if you can find any evidence of it not working properly just let us know (in this thread) and I can re-open the ticket as appropriate.


Thanks

- Nutter

Avatar
Emil Hemdal

It sometimes doesn't feel like they are doing the switch but it could be me having a hard time detecting a worker that is occupied and not. "Invalidate" this report for now until I or someone else can show it not working.

Avatar
Stefan Furcht Programmer

This is exactly what is happening already.
If a worker searches for a task which has more than a 10% shorter path to an already assigned task, he will take this task over and the old assignee will search for a new task.
Did you encounter a case where this didn't work?
Can you provide an example, screenshot or video?