Ваши запросы истекают из-за того, что вы заполняете сервер слишком большим количеством запросов. Вы должны разбить ваши многочисленные запросы на меньшие партии и ждать их.
Вот как это будет работать с API fetch
:
async function getall() {
const ops = [];
const length = 50; // reduced for snippet reasons ... :)
const batchsize = 10;
for (let x = 0; x < length; x+=batchsize) {
const batch = [];
for (let y = x; y < length && y < x + batchsize; y++) {
const req = fetch("https://jsonplaceholder.typicode.com/todos/1")
.then((resp) => resp.json());
batch.push(req);
}
// Wait for this batch to be completed before launching the next batch:
ops.push(...await Promise.all(batch));
}
return ops;
}
getall().then((res) => console.log(res));
В этом году я должен был реализовать единственную задачу кэшировать некоторые данные из базы данных, Они должны были проверить изменяющийся код каждый n минуты, я нашел эту очень хорошую статью;
Моделируйте службу Windows с помощью ASP.NET для выполнения запланированных заданий
Я сделал это тот путь, и это работало, но поскольку я сказал Вам, было это, была только единственная задача, но если Вы видите, что пример выше Вас видит, что это выполняет несколько задач.
Как Вы видели в кэше, можно выполнить задачу в любое время и на интервалах, ночная задача могла быть сделана в полночь, другие каждый n минуты или часы.
Надежда это помогает.
- Для ночного поколения отчета я изучил бы SQL Reporting Services, потому что у них есть некоторые собственные сервисы подписки, которые позволяют, Вы на адрес электронной почты не сообщаете пользователям с виртуальным ни о каком пользовательском коде.
- Для запоздалых уведомлений об объекте работы Вы могли или использовать SSRS (упомянутый выше) путем отправки им отчета с их просроченными объектами или при выполнении SQL 2k5 используйте Notification Services.
Таймер, объединенный со второстепенным рабочим, работал хорошо на меня:
Timer timer = new Timer(intervalSeconds * 1000)
timer.Elapsed += delegate
{
// do the meat
};
timer.Start();
Следует иметь в виду, что у Вас не будет доступа к HttpContext и что сайт может закрыться из-за неактивности.
Я делаю рабочие потоки ответвления и потоки, которые периодически делают вещи в моем приложении ASP.NET, и у меня не было проблемы.
Я только запускаю приложение в доме - другие загружают его и выполняют его на их сайтах или выполняют его в хостинговых компаниях, таким образом делая вещи, не требуя, чтобы сервис быть установленным сделал развертывание легче.
Честно я никогда не был поклонником попытки моделировать сервис окон в процессе ASP.net, особенно когда Вы рассматриваете, как легкий это должно создать службу Windows. Большинство попыток, которые я видел при выполнении так, было полно проблем.