Нет ничего родного для TPL, которое поможет вам в этом. TPL об управлении / максимизации нагрузки на процессор вашего локального приложения. Он не имеет представления о загрузке SQL, не говоря уже о другой машине.
Тем не менее, если вы хотите сойти с ума, есть точка расширения, называемая TaskScheduler
. Теоретически можно реализовать пользовательский TaskScheduler
, который может наблюдать за нагрузкой на сервере SQL и планировать выполнение задач только в том случае, если эта загрузка находится на некотором заданном пороге.
Честно говоря, я не думаю, что это правильное решение проблемы. Управление нагрузкой на общий ресурс, такой как сервер SQL, - это совершенно другой зверь, чем то, для чего предназначен TPL. Было бы гораздо лучше, если бы вы просто спроектировали свое приложение таким образом, чтобы оно не использовало сервер SQL самостоятельно, путем нагрузочного тестирования, поиска места и настройки приложения, чтобы оно не выходило за эти пределы. Оттуда ваш администратор БД должен определить правильное решение для самой инфраструктуры сервера SQL, чтобы управлять потребностями этого приложения вместе с любой другой внешней нагрузкой.