Полностью запустить и забыть хранимую процедуру C # .NET Core - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть хранимая процедура T-SQL, которая запускается ежемесячно и занимает около 48 часов.Я нажимаю кнопку в моем клиентском приложении, чтобы вызвать маршрут в моем C # .NET Core API.Затем API вызывает хранимую процедуру.Я не хочу ждать в любой форме или моде.Я добавил Task.Run() вокруг функции.

Task.Run(() => db.Database.ExecuteSqlCommand("dbo.storedProcedure"));

Это успешно возвращает ответ клиентской стороне немедленно, как требуется, однако API все еще ожидает эту процедуру в фоновом режиме.

Есть ли способ, которым я могу вызвать процедуру и полностью завершить API?Я просто хочу запустить его и позволить ему работать исключительно в базе данных.В этом случае я не беспокоюсь об обнаружении ошибок или других действий, которые можно считать хорошей практикой.

1 Ответ

0 голосов
/ 17 сентября 2018

Возможно, создайте задание в агенте SQL (без связанного расписания), который выполняет хранимую процедуру, а затем из вашего клиентского приложения запустите задание.Скорее всего, потребуются другие привилегии, но ваше приложение будет отключено от выполнения процедуры, что похоже на то, чего вы пытаетесь достичь.

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