We created our own scheduler, which selects material before launching Jenkins nodes. There may be a better solution, but it works for us mostly. I have yet to meet with a ready-made scheduler who can cope with the complex distribution of various hardware resources. We have n field types allocated for n construction types.
Some types of assembly that we have are incompatible with each other, without destroying all the persistent data, which may be required, since it takes a lot of time to collect. Some tasks require combinations of these types of equipment. We store data in a database, and then use business logic to determine how it is distributed. We often find that certain types of tasks require additional business logic or additional data fields to take into account their specific requirements.
Thus, the best way is to write your own planner in your own language that takes into account your specific needs.
source share