Azure Uygulaması Hizmetinde Web İşleri ile arka plan görevlerini çalıştırma
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.
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.
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. Tüm uygulama hizmeti planları Web İşlerini destekler. Web İşleri'ni kullanmak için ek maliyet yoktur.
Not
1 Haziran 2024'den itibaren, yeni oluşturulan tüm App Service uygulamaları adlandırma kuralını <app-name>-<random-hash>.<region>.azurewebsites.net
kullanarak benzersiz bir varsayılan ana bilgisayar adı oluşturma seçeneğine sahip olacaktır. Mevcut uygulama adları değişmeden kalır.
Örnek: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Diğer ayrıntılar için App Service Kaynağı için Benzersiz Varsayılan Ana Bilgisayar Adı'na bakın.
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\Continuous dağıtılır. |
Kod altında \site\wwwroot\app_data\Jobs\Triggered dağı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.
Azure portalında App Service web uygulamanızın, API uygulamanızın veya mobil uygulamanızın App Service sayfasına gidin.
Sol bölmeden Web İşleri'ni ve ardından Ekle'yi seçin.
Tabloda belirtildiği gibi Web İşi ekle ayarlarını doldurun ve Ardından Web İşi Oluştur'u seçin.
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. 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.
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.
El ile tetiklenen web işi oluşturma
Azure portalında App Service web uygulamanızın, API uygulamanızın veya mobil uygulamanızın App Service sayfasına gidin.
Sol bölmeden Web İşleri'ni ve ardından Ekle'yi seçin.
Tabloda belirtildiği gibi Web İşi ekle ayarlarını doldurun ve Ardından Web İşi Oluştur'u seçin.
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 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.
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.
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.
Azure portalında App Service web uygulamanızın, API uygulamanızın veya mobil uygulamanızın App Service sayfasına gidin.
Sol bölmeden Web İşleri'ni ve ardından Ekle'yi seçin.
Tabloda belirtildiği gibi Web İşi ekle ayarlarını doldurun ve Ardından Web İşi Oluştur'u seçin.
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. 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.
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.
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>Web İşleri'ne 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
Görmek istediğiniz Web İşi için Günlükler'i seçin.
Web İşi Ayrıntıları sayfasında, bir çalıştırmanın ayrıntılarını görmek için bir saat seçin.
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?