Czy jest możliwe ustawienie oddzielnych harmonogramów dla pojedynczych niewywołanych funkcji w webjob Azure? Pytam, ponieważ mam pół tuzina indywidualnych zadań, które chciałbym wykonywać o różnych porach dnia i w różnych odstępach czasu i nie chcę tworzyć osobnego projektu dla każdego z nich.Oddzielne harmonogramy funkcji Azure webjob?
Odpowiedz
Tak można za pomocą TimerTriggerAttribute
Oto przykładowy kod:
public class Program
{
static void Main(string[] args)
{
JobHostConfiguration config = new JobHostConfiguration();
// Add Triggers for Timer Trigger.
config.UseFiles(filesConfig);
config.UseTimers();
JobHost host = new JobHost(config);
host.RunAndBlock();
}
// Function triggered by a timespan schedule every 15 sec.
public static void TimerJob([TimerTrigger("00:00:15")] TimerInfo timerInfo,
TextWriter log)
{
log.WriteLine("1st scheduled job fired!");
}
// Function triggered by a timespan schedule every minute.
public static void TimerJob([TimerTrigger("00:01:00")] TimerInfo timerInfo,
TextWriter log)
{
log.WriteLine("2nd scheduled job fired!");
}
}
Można też użyć wyrażenia CRON aby określić, kiedy aby uruchomić funkcję:
Ma to problem z zależnościami w usłudze Azure.Storage większy niż 5.0.2 i nie zostanie zainstalowany. Korzystam z najnowszego Storage 6.2.0 i potrzebuję rozwiązania alternatywnego. –
Ale cały zestaw SDK Webjob ma zależność z Azure.Storage <= 5.0.2 – Thomas
Prawidłowo, a ja korzystałem z wersji wstępnej usługi Azure App Service nuget na https://www.myget.org/F/azure-appservice /api/v3/index.json TimerJob jest tak łatwy w użyciu, że musiałem. :) –
Możesz napisać zwykłą starą aplikację konsolową z nieskończoną pętlą, która zatrzymuje się po zakończeniu każdej iteracji za pomocą Thread.Sleep(). Za każdym razem, gdy pętla się budzi, sprawdza harmonogram, który utrzymuje wewnętrznie i wywołuje funkcje, które mają działać w tym czasie. Harmonogram może być przechowywany w app.config, dzięki czemu możesz go zmienić bez rekompilacji WebJob, po prostu wgraj nowy app.config i uruchom go ponownie.
Lub jeśli wolisz, możesz pominąć pętlę bez końca i zaplanować WebJob w ustalonym interwale, powiedz co 30 minut i spraw, aby za każdym razem sprawdzał wewnętrzny harmonogram.
Skończyło się na tym, że korzystałem z Quartz.net z ciągłym zadaniem do planowania różnych czynności wykonywanych wewnątrz pracy w sieci. To zadziałało bardzo dobrze.
- 1. Jak uruchomić usługę WebJob Azure WebJob lokalnie?
- 2. Azure webjob vs usługa chmurowa
- 3. Sql Azure - oddzielne serwery?
- 4. Jak zapobiec uruchamianiu Azure WebJob po opublikowaniu?
- 5. Ustawienia konfiguracji limitu czasu Azure WebJob
- 6. Azure WebJob działa pod starym kodem
- 7. Korzystanie z Analizy aplikacji Azure przy użyciu usługi Azure WebJob
- 8. Bezpieczne wywoływanie hostowanego WebSite Web API z usługi Azure WebJob
- 9. Azure WebJob "Nie można utworzyć bezpiecznego kanału SSL/TLS"
- 10. Harmonogramy w Rxcpp
- 11. Microsoft Azure, Webjob, w której strefa czasowa wykonuje webjob, jeśli zaplanuję webjob, aby działał codziennie o określonej godzinie przy użyciu wyrażenia cron
- 12. Skalowanie funkcji platformy Azure?
- 13. Domyślne harmonogramy dla rxjava na Androidzie
- 14. Ograniczanie przetwarzania kolejki pamięci masowej Azure w aplikacji funkcji Azure
- 15. Określanie zbioru zadań, w którym zaplanowana usługa Azure WebJob jest przypisana do
- 16. Program Azure Scheduler nie uruchamia usługi OnDemand WebJob opublikowanej za pomocą aplikacji WebApp
- 17. Jak wdrożyć witrynę sieci Web Azure WebJob wraz z aplikacją sieci Web .NET Core przez Git?
- 18. Zatrzymany podczas publikowania aplikacji sieci Web na platformie Azure przy użyciu WebJob
- 19. Jak skalować Webjobs na Azure Jak skalować Webjobs Azure
- 20. Używanie funkcji BrokeredMessage z ServiceBus Kolejka wyzwalacza w funkcji Azure
- 21. Używanie jednostki pamięci/zużycia funkcji Azure
- 22. kod Udział w funkcji F # Azure wystawać
- 23. Biblioteki klasy C# w mojej funkcji Azure
- 24. Jak mogę Parsować Json w funkcji Azure
- 25. Jak ustawić MaxReceivedMessageSize dla funkcji Azure
- 26. Oddzielne pliki w Git
- 27. Mathematica - oddzielne notebooki
- 28. Azure nie webjobs czytając stronę AppSettings
- 29. Czy Webjobs automatycznie odnawia dzierżawy w wiadomościach kolejki Azure?
- 30. Git połączyć i zachować oddzielne?
Przepraszamy. Nie rozumiem. Chcesz jednego ciągłego webjob z różnymi pracami podrzędnymi w środku? Każda pod-praca z innym harmonogramem? –
A webjob może ujawnić różne funkcje. W moim przypadku chcę, aby wszystkie te zostały zaplanowane, a nie uruchomione. Jako takie mam wiele funkcji ozdobionych atrybutem NoAutomaticTrigger i chciałbym uruchomić każdy z nich w innym harmonogramie. –
W sytuacji takiej jak Twoja użyłem działającej aplikacji konsolowej z wewnętrznym i niestandardowym zarządzaniem zaplanowanymi działaniami. –