sql >> Databáze >  >> RDS >> Sqlserver

Jak asynchronně spustit uloženou proceduru serveru SQL a zajistit její dokončení

Podívejte se na C# Task Parallel Library. Můžete vytvořit úlohu, která je velmi jednoduchá. Například...

    Task myTask= new Task(() => {
        Console.WriteLine(@"hello");
        //Call stored procedure here
    });
    myTask.start();

Tím se spustí kód zabalený v úloze paralelně s hlavním vláknem. Pokud chcete zkontrolovat, zda je úkol dokončen, můžete použít

    if(myTask.IsCompleted())
    {
        Console.WriteLine(@"My task is finished");
    }

Tato metoda se vyhnula změně uložené procedury a umožňuje C# zvládnout výkon.

Edit:-A abyste se vyhnuli dokončení hlavního vlákna, nejprve přidejte

    Task.WaitAll(myTask);

Tím se hlavní vlákno uspí, dokud nebude úloha dokončena.



  1. Aktualizujte více řádků ve stejném dotazu pomocí PostgreSQL

  2. Jak mohu vytvořit alias databáze v MySQL?

  3. Synchronizujte data postgreSql s ElasticSearch

  4. Problémy UTF-8 se znaky z databáze MySQL (např. é jako é)