Azure Uygulaması Hizmetinde Web İşleri ile arka plan görevlerini çalıştırma

Not

Windows kapsayıcısı, Linux kodu ve Linux kapsayıcısı için Web İşleri önizleme aşamasındadır. Windows için Web İşleri kodu genel kullanıma sunulur ve önizlemede kullanılamaz.

Yürütülebilir dosyayı veya betiği karşıya yüklemek için Azure portalını kullanarak Web İşleri dağıtın. arka plan görevlerini Azure Uygulaması Hizmeti'nde çalıştırabilirsiniz.

Azure Uygulaması Hizmeti yerine Web İşleri geliştirmek ve dağıtmak için Visual Studio kullanıyorsanız bkz. Visual Studio kullanarak Web İşleri dağıtma.

Genel bakış

Web İşleri, web uygulamasıyla aynı örnekte bir program veya betik çalıştırmanıza olanak tanıyan bir Azure Uygulaması Hizmeti özelliğidir. Web İşleri'ni kullanmak için ek maliyet yoktur.

Birçok programlama görevini basitleştirmek için Webjobs ile Azure Web İşleri SDK'sını kullanabilirsiniz. Daha fazla bilgi için bkz . Web İşleri SDK'sı nedir?

Azure İşlevleri programları ve betikleri çalıştırmak için başka bir yol sağlar. Web İşleri ve İşlevler arasında bir karşılaştırma için bkz . Flow, Logic Apps, İşlevler ve Web İşleri arasında seçim yapma.

Web İşi türleri

Betikler veya programlar için desteklenen dosya türleri

Aşağıdaki belge türleri desteklenmektedir:
.cmd, .bat, .exe (Windows cmd kullanarak)
.ps1 (PowerShell kullanarak)
.sh (Bash kullanarak)
.php (PHP kullanarak)
.py (Python kullanarak)
.js (Node.js kullanarak)
.jar (Java kullanarak)

Bu dosya türlerini çalıştırmak için gerekli çalışma zamanları web uygulaması örneğine zaten yüklenmiştir.

Sürekli ve tetiklenen Web İşleri karşılaştırması

Aşağıdaki tabloda sürekli ve tetiklenen Web İşleri arasındaki farklar açıklanmaktadır:

Sürekli Tetiklenmiş
Web İşi oluşturulduğunda hemen başlar. İşin bitmesini sağlamak için, program veya betik genellikle işini sonsuz bir döngü içinde yapar. İş biterse yeniden başlatabilirsiniz. Genellikle Web İşleri SDK'sı ile kullanılır. Yalnızca el ile veya bir zamanlamaya göre tetiklendiğinde başlatılır.
Web uygulamasının üzerinde çalıştığı tüm örneklerde çalışır. İsteğe bağlı olarak Web İşini tek bir örnekle kısıtlayabilirsiniz. Azure'ın yük dengeleme için seçtiği tek bir örnekte çalışır.
Uzaktan hata ayıklamayı destekler. Uzaktan hata ayıklamayı desteklemez.
Kod altında \site\wwwroot\app_data\Jobs\Continuousdağıtılır. Kod altında \site\wwwroot\app_data\Jobs\Triggereddağıtılır.

Not

Bir web uygulaması 20 dakika etkinlik dışı kaldıktan sonra zaman aşımına neden olabilir ve yalnızca gerçek web uygulamasına yapılan istekler zamanlayıcıyı sıfırlayabilir. Uygulamanın yapılandırmasını Azure portalında görüntülemek veya gelişmiş araçlar sitesine (https://<app_name>.scm.azurewebsites.net) istek göndermek zamanlayıcıyı sıfırlamaz. İşinizi barındıran web uygulamasını sürekli çalışacak, zamanlamaya göre çalışacak veya olay temelli tetikleyiciler kullanacak şekilde ayarlarsanız web uygulamanızın Azure Yapılandırması sayfasında Her zaman açık ayarını etkinleştirin. Always on ayarı, bu tür Web İşleri'nin güvenilir bir şekilde çalıştığından emin olmak için yardımcı olur. Bu özellik yalnızca Temel, Standart ve Premium fiyatlandırma katmanlarında kullanılabilir.

Sürekli Web İşi oluşturma

Önemli

Uygulamanız için yapılandırılmış kaynak denetimine sahip olduğunuzda, Web işleri kaynak denetimi tümleştirmesinin bir parçası olarak dağıtılmalıdır. Uygulamanız için kaynak denetimi yapılandırıldıktan sonra Azure portalından web işi eklenemez.

  1. Azure portalında App Service web uygulamanızın, API uygulamanızın veya mobil uygulamanızın App Service sayfasına gidin.

  2. Sol bölmeden Web İşleri'ni ve ardından Ekle'yi seçin.

    Portalda App Service uygulamasında Web İşi eklemeyi gösteren ekran görüntüsü.

  3. Tabloda belirtildiği gibi Web İşi ekle ayarlarını doldurun ve Ardından Web İşi Oluştur'u seçin.

    App Service uygulaması için mult örneği sürekli Web İşi yapılandırmayı gösteren ekran görüntüsü.

    Ayar Örnek değer Açıklama
    Ad myContinuousWebJob App Service uygulamasında benzersiz bir ad. Harf veya sayı ile başlamalıdır ve "-" ve "_" dışında özel karakterler içermemelidir.
    Dosya Karşıya Yükleme ConsoleApp.zip Yürütülebilir dosyanızı veya betik dosyanızı ve programı veya betiği çalıştırmak için gereken tüm destekleyici dosyaları içeren bir .zip dosyası. Desteklenen yürütülebilir dosya veya betik dosyası türleri Desteklenen dosya türleri bölümünde listelenir.
    Tür Sürekli Web İşi türleri bu makalenin önceki bölümlerinde açıklanmıştır.
    Ölçek Çok Örnekli Yalnızca Sürekli Web İşleri için kullanılabilir. Programın veya betiğin tüm örneklerde mi yoksa tek bir örnekte mi çalıştırılıp çalıştırılmayacağını belirler. Birden çok örnekte çalıştırma seçeneği, Ücretsiz veya Paylaşılan fiyatlandırma katmanları için geçerli değildir.
  4. Yeni Web İşi, Web İşleri sayfasında görünür. Web İşinin eklendiğini belirten bir ileti görürseniz ancak bunu görmüyorsanız Yenile'yi seçin.

  5. Sürekli bir Web İşini durdurmak veya yeniden başlatmak için, listede Web İşi'ne sağ tıklayın ve Durdur veya Çalıştır düğmesini seçin ve seçiminizi onaylayın.

    Azure portalında sürekli web işinin nasıl durdurulacağını gösteren ekran görüntüsü.

El ile tetiklenen web işi oluşturma

  1. Azure portalında App Service web uygulamanızın, API uygulamanızın veya mobil uygulamanızın App Service sayfasına gidin.

  2. Sol bölmeden Web İşleri'ni ve ardından Ekle'yi seçin.

    Portalda App Service uygulamasında Web İşi eklemeyi gösteren ekran görüntüsü (el ile tetiklenen Web İşi).

  3. Tabloda belirtildiği gibi Web İşi ekle ayarlarını doldurun ve Ardından Web İşi Oluştur'u seçin.

    App Service uygulaması için el ile tetiklenen web işinin nasıl yapılandırıldığını gösteren ekran görüntüsü.

    Ayar Örnek değer Açıklama
    Ad myTriggeredWebJob App Service uygulamasında benzersiz bir ad. Harf veya sayı ile başlamalıdır ve "-" ve "_" dışında özel karakterler içermemelidir.
    Dosya Karşıya Yükleme ConsoleApp1.zip Yürütülebilir dosyanızı veya betik dosyanızı ve programı veya betiği çalıştırmak için gereken tüm destekleyici dosyaları içeren bir .zip dosyası. Desteklenen yürütülebilir dosya veya betik dosyası türleri Desteklenen dosya türleri bölümünde listelenir.
    Tür Tetiklenmiş Web İşi türleri daha önce bu makalede açıklanmıştır.
    Tetikleyiciler El ile
  4. Yeni Web İşi, Web İşleri sayfasında görünür. Web İşinin eklendiğini belirten bir ileti görürseniz ancak bunu görmüyorsanız Yenile'yi seçin.

  5. El ile tetiklenen bir Web İşi çalıştırmak için, listede Web İşi'ne sağ tıklayın ve Çalıştır düğmesini seçin ve seçiminizi onaylayın.

    Azure portalında el ile tetiklenen bir Web İşinin nasıl çalıştırıldığını gösteren ekran görüntüsü.

Zamanlanmış Web İşi oluşturma

Zamanlanmış bir Web işi de tetiklenir. Tetikleyiciyi belirttiğiniz zamanlamaya göre otomatik olarak gerçekleşecek şekilde zamanlayabilirsiniz.

  1. Azure portalında App Service web uygulamanızın, API uygulamanızın veya mobil uygulamanızın App Service sayfasına gidin.

  2. Sol bölmeden Web İşleri'ni ve ardından Ekle'yi seçin.

    Portaldaki bir App Service uygulamasında (zamanlanmış Web İşi) Web İşi eklemeyi gösteren ekran görüntüsü.

  3. Tabloda belirtildiği gibi Web İşi ekle ayarlarını doldurun ve Ardından Web İşi Oluştur'u seçin.

    App Service uygulamasında zamanlanmış web işini yapılandırmayı gösteren ekran görüntüsü.

    Ayar Örnek değer Açıklama
    Ad myScheduledWebJob App Service uygulamasında benzersiz bir ad. Harf veya sayı ile başlamalıdır ve "-" ve "_" dışında özel karakterler içermemelidir.
    Dosya Karşıya Yükleme ConsoleApp.zip Yürütülebilir dosyanızı veya betik dosyanızı ve programı veya betiği çalıştırmak için gereken tüm destekleyici dosyaları içeren bir .zip dosyası. Desteklenen yürütülebilir dosya veya betik dosyası türleri Desteklenen dosya türleri bölümünde listelenir.
    Tür Tetiklenmiş Web İşi türleri bu makalenin önceki bölümlerinde açıklanmıştır.
    Tetikleyiciler Zamanlananlar Zamanlamanın güvenilir bir şekilde çalışması için AlwaysOn özelliğini etkinleştirin. Always On yalnızca Temel, Standart ve Premium fiyatlandırma katmanlarında kullanılabilir.
    CRON İfadesi 0 0/20 * * * * CRON ifadeleri aşağıdaki bölümde açıklanmıştır.
  4. Yeni Web İşi, Web İşleri sayfasında görünür. Web İşinin eklendiğini belirten bir ileti görürseniz ancak bunu görmüyorsanız Yenile'yi seçin.

  5. Zamanlanan Web İşi, CRON ifadesi tarafından tanımlanan zamanlamada çalıştırılır. İstediğiniz zaman el ile çalıştırmak için, listede Web İşi'ne sağ tıklayın ve Çalıştır düğmesini seçin ve seçiminizi onaylayın.

    Azure portalında el ile zamanlanmış web işinin nasıl çalıştırıldığını gösteren ekran görüntüsü.

NCRONTAB ifadeleri

Portalda bir NCRONTAB ifadesi girebilir veya aşağıdaki örnekte olduğu gibi Webjob .zip dosyanızın köküne bir settings.job dosya ekleyebilirsiniz:

{
    "schedule": "0 */15 * * * *"
}

Daha fazla bilgi edinmek için bkz . Tetiklenen web işini zamanlama.

Not

CRON ifadelerini çalıştırmak için kullanılan varsayılan saat dilimi Eşgüdümlü Evrensel Saat 'tir (UTC). CRON ifadenizin başka bir saat dilimine göre çalıştırılmasını sağlamak için işlev uygulamanız için WEBSITE_TIME_ZONE adlı bir uygulama ayarı oluşturun. Daha fazla bilgi edinmek için bkz . NCRONTAB saat dilimleri.

Web İşlerini Yönetme

Azure portalında sitenizde çalışan tek tek Web İşleri'nin çalışma durumunu yönetebilirsiniz. Ayarlar> WebJobs'a gidin, Web İşi'ni seçin ve Web İşi'ni başlatıp durdurabilirsiniz. Ayrıca, Web İşini çalıştıran web kancasının parolasını görüntüleyebilir ve değiştirebilirsiniz.

Ayrıca, sitenizde çalışan tüm Web İşleri'nin 1 durdurulması için değerine sahip adlı WEBJOBS_STOPPED bir uygulama ayarı da ekleyebilirsiniz. Çakışan Web İşleri'nin hem hazırlama hem de üretim yuvalarında çalışmasını önlemek için bu yöntemi kullanabilirsiniz. Benzer şekilde, sitede veya hazırlama yuvasında WEBJOBS_DISABLE_SCHEDULE tetiklenen Web İşleri'ni devre dışı bırakmak için ayarı için değerini 1 kullanabilirsiniz. Yuvalar için, ayarın kendisinin değiştirilmemesi için Dağıtım yuvası ayarı seçeneğini etkinleştirmeyi unutmayın.

İş geçmişini görüntüleme

  1. Görmek istediğiniz Web İşi için Günlükler'i seçin.

    Web İşi günlüklerine nasıl erişildiğini gösteren ekran görüntüsü.

  2. Web İşi Ayrıntıları sayfasında, bir çalıştırmanın ayrıntılarını görmek için bir saat seçin.

    Ayrıntılı günlüklerini görmek için bir Web İşi çalıştırmasını seçmeyi gösteren ekran görüntüsü.

  3. Web İşi Çalıştırma Ayrıntıları sayfasında, günlüklerin metin dosyasını almak için indir'i veya farklı bir Web İşinin günlüklerini görmek için sayfanın üst kısmındaki Web İşleri içerik haritası bağlantısını seçebilirsiniz.

Web İşi durumları

Yaygın Web İşi durumlarının listesi aşağıdadır:

  • Başlatma Uygulama başlatıldı ve Web İşi başlatma işleminden geçiyor.
  • Web İşi başlatılıyor.
  • Web İşi çalıştırılıyor .
  • PendingRestart Herhangi bir nedenle başlatıldığından bu yana iki dakikadan kısa bir süre içinde sürekli bir Web İşi çıkar ve App Service, Web İşini yeniden başlatmadan önce 60 saniye bekler. İki dakikalık işaret sonrasında sürekli Web İşi çıkarsa, App Service 60 saniye beklemez ve Web İşini hemen yeniden başlatır.
  • Durduruldu Web İşi durduruldu (genellikle Azure portalından) ve şu anda çalışmıyor ve sürekli veya zamanlanmış bir Web İşi için bile el ile yeniden başlatana kadar çalışmaz.
  • Durduruldu Bu, uzun süre çalışan bir Web İşinin zaman aşımı işaretçisine ulaşması gibi birçok nedenden kaynaklanabilir.

Sonraki adımlar

Azure Web İşleri SDK'sı, birçok programlama görevini basitleştirmek için Web İşleri ile birlikte kullanılabilir. Daha fazla bilgi için bkz . Web İşleri SDK'sı nedir?