Альтернатива использованию Hangfire в Azure App Server для дорогостоящих вычислительных операций - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть Asp. Net Базовый веб-сайт, работающий на Azure в качестве службы приложений. Задача веб-сайта - перечислять различные расчеты, предоставляя экраны ввода для ввода значений вычислений, а затем отчеты для просмотра результатов расчетов и использованных входов. Эти данные сохраняются в базе данных Azure SQL, в то время как само решение включает проект библиотеки классов, который фактически выполняет вычисления. Эти вычисления ожидают серию входных параметров и возвращают серию выходных значений, которые затем сохраняются в базе данных. Большинство вычислений могут быть очень дорогими в вычислительном отношении и могут занять некоторое время (худший случай - до часа). На данный момент мы включили HangFire, чтобы фактическая функция вычислений могла быть поставлена ​​в очередь и запущена в фоновом потоке.

BackgroundJob.Enqueue(() => _calculationRunService.RunCalculation(runID));

Это работает, но не очень эффективно и масштабируемо, поскольку пользовательская база увеличивается и вычисления стать более сложным. Поэтому я ищу несколько советов о том, может ли одна из других Azure служб подойти для замены части Hangfire?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...