Burada App Service içinde birkaç seçenek var. Bu alana da dokunan Mantık Uygulamaları veya Azure Otomasyonu'na dokunmayacağım.
Azure WebJobs
Bu makale dürüst olmak gerekirse en iyi açıklamadır, ancak burada özetleyeceğim.
Talep Üzerine WebJobs aka. Zamanlanmış WebJobs aka. Tetiklenen Web İşleri
Tetiklenen WebJobs, bir URL çağrıldığında veya schedule.job içinde schedule özelliği bulunduğunda bir kez çalıştırılan WebJobs'tur . Zamanlanmış WebJobs, yalnızca URL'imizi bir zamanlamaya göre aramak için Azure Zamanlayıcı İşi oluşturulmuş WebJobs'dur, ancak daha önce de belirtildiği gibi zamanlama özelliğini de destekliyoruz.
Özet:
+
Yürütülebilir / İsteğe bağlı komut dosyası
+
Zamanlanmış infazlar
-
.Scm uç noktası üzerinden tetiklenmelidir
-
Ölçeklendirme manueldir
-
VM her zaman gereklidir
Sürekli WebJobs (SDK olmayan)
Bu işler sonsuza dek sürüyor ve çöktüklerinde onları uyandıracağız. Bunların çalışması için Her Zaman Açık'ı etkinleştirmeniz gerekir, yani Temel katman ve üstünde çalıştırmak anlamına gelir.
Özet:
+
Yürütülebilir / Komut Dosyası her zaman çalışıyor
-
Her zaman açık gerektirir - Temel katman ve üstü
-
VM her zaman gereklidir
WebJobs SDK ile Sürekli WebJobs
Bunlar "WebJobs özelliği" açısından bir şey değildir. Temel olarak, basit tetikleyicilere dayalı kod yürütmenizi sağlayan WebJobs'u hedeflediğimiz bu tatlı SDK'ya sahibiz. Bunun hakkında daha sonra konuşacağım.
Özet:
+
Yürütülebilir / Komut Dosyası her zaman çalışıyor
+
Daha zengin günlük / gösterge tablosu
+
Uzun süren görevlerle birlikte desteklenen tetikleyiciler
-
Her zaman açık gerektirir - Temel katman ve üstü
-
Ölçeklendirme kurulum için manueldir
-
Başlamak biraz yorucu olabilir
-
VM her zaman gereklidir
Azure WebJobs SDK'sı
Azure WebJobs SDK, platform özelliğinden WebJobs'tan tamamen ayrı bir SDK'dır. Bir WebJob'da çalışacak şekilde tasarlanmıştır, ancak gerçekten her yerde çalıştırılabilir. Destek yalnızca en iyi çaba olsa da, onları çalışan rollerinde, hatta prem ya da diğer bulutlarda yöneten müşterilerimiz var.
SDK, bir olaya tepki olarak bazı kodların çalıştırılmasını ve hizmetler / vb. kolay. Bu dürüst olmak gerekirse en iyi bazı dokümanlar ile kaplıdır , ancak kalbi "olay" + "kod" doğasıdır. Ayrıca bazı serinletilebilir genişletilebilirlik çalışmaları yaptık, ancak bu temel amaca ikincil.
Özet:
- Bunların çoğu yukarıda belirtilmiştir
+
İstediğinizi genişletebilir ve çalıştırabilirsiniz. Tam kontrol.
-
HTTP işleri biraz sakat, ama işe yarıyor
Azure İşlevleri
Azure İşlevleri, WebJobs SDK'nın temel amacını ele almak, bir hizmet olarak barındırmak ve diğer dillerle başlamayı kolaylaştırmakla ilgilidir. Burada "Sunucusuz" konseptini de sunuyoruz çünkü bunu yapmak çok mantıklıydı - SDK'mızın nasıl ölçeklendiğini biliyoruz, böylece sizin için akıllı şeyler yapabiliriz.
Azure İşlevleri çok yoğun bir şekilde yönetilen bir deneyimdir. Kendi sunucunuzu getirmeyi desteklemiyoruz. Şu anda, özel uzantıları desteklemiyoruz, ancak araştırdığımız bir şey. Neler yapabileceğiniz ve yapamayacağınız konusunda düşünüyoruz, ancak etkinleştirdiğimiz şeyler için kaygan ve kullanımı ve yönetimi kolaydır.
Bununla birlikte, İşlevleri iyileştirmek için yaptığımız "çerçeve" şeylerin çoğu WebJobs SDK'sından geçer. Örneğin, WebJobs SDK kullanıcıları için büyük bir avantaj sağlayan günlük kaydetme hızını büyük ölçüde artıran yeni bir WebJobs NuGet'i yükleyeceğiz. "Hizmet olarak WebJobs SDK" olarak sunulan işlevlerde, birçok deneyim sorununu gerçekten geliştirdik.
İşlevler en son ve en büyüklerimiz olduğu için muhtemelen yanlıyım, ancak İşlevler için daha fazla eksilerini çekmekten çekinmeyin.
Muhtemelen biraz daha ayrıntılı bir blog yayınlayacağım, ancak bunu bu forum için mümkün olduğunca öz tutmaya çalıştım.