Dzisiaj nie ma odpowiednika SQL Agent dla SQL Azure. Będziesz musiał zadzwonić do wyciągu z jednej linii z zadania w tle. Jeśli jednak masz już ról internetowych, możesz łatwo odradzić wątek, aby obsłużyć to w roli internetowej bez konieczności tworzenia roli pracownika. Blogowałem o koncepcji here. Aby utworzyć wątek, możesz to zrobić w procedurze obsługi zdarzenia OnStart(), w której instancja roli nie została jeszcze dodana do modułu równoważenia obciążenia) lub w metodzie Run() (w której instancja roli została dodana do obciążenia stabilizator). Zwykle dobrym pomysłem jest zrobienie konfiguracji w OnStart().
Jedna uwaga, która może nie być oczywista, niezależnie od tego, czy wywołujesz tę komendę we własnej roli roboczej, czy w wątku tła istniejącej roli internetowej: Jeśli zmienisz swoją rolę na, powiedzmy, dwie instancje, musisz upewnić się, że codzienne wywołanie następuje tylko z jednej z instancji (w przeciwnym razie można by uzyskać albo duplikaty, albo operację, która może kosztować wiele razy). Istnieje kilka technik, których możesz tego uniknąć, na przykład blokada wiersza tabeli lub dzierżawa blob Azure Storage. W pierwszym przypadku możesz użyć tego wiersza do przechowywania znacznika czasu ostatniego wykonania operacji. Jeśli zdobędziesz blokadę, możesz sprawdzić, czy operacja nastąpiła w określonym oknie czasowym (może godzinę?), Aby zdecydować, czy jedna z innych instancji już ją wykonała. Jeśli nie uda ci się uzyskać blokady, możesz założyć, że inna instancja ma blokadę i wykonuje polecenie. Istnieją inne techniki - to tylko jeden pomysł.
Pojedziemy na http://www.mygreatwindowsazureidea.com/ i zagłosujemy na tę funkcję! – ryancrawcour