Azure İşlevleri için zamanlayıcı tetikleyicisi
Bu makalede, Azure İşlevleri'da zamanlayıcı tetikleyicileriyle çalışma açıklanmaktadır. Zamanlayıcı tetikleyicisi, bir işlevi zamanlamaya göre çalıştırmanıza olanak tanır.
Bu, Azure İşlevleri geliştiricilerin başvuru bilgileridir. Azure İşlevleri kullanmaya yeni başladıysanız aşağıdaki kaynaklarla başlayın:
C# geliştirici başvuruları:
Zamanlayıcıyla tetiklenen bir işlevi el ile çalıştırma hakkında bilgi için bkz . HTTP ile tetiklenmeyen bir işlevi el ile çalıştırma.
Bu bağlama desteği tüm geliştirme ortamlarında otomatik olarak sağlanır. Paketi el ile yüklemeniz veya uzantıyı kaydetmeniz gerekmez.
Zamanlayıcı uzantısı paketinin kaynak kodu azure-webjobs-sdk-extensions GitHub deposundadır.
Önemli
Bu makalede, Node.js programlama modelinin birden çok sürümünü desteklemek için sekmeler kullanılır. Genel kullanıma sunulan v4 modeli, JavaScript ve TypeScript geliştiricileri için daha esnek ve sezgisel bir deneyime sahip olacak şekilde tasarlanmıştır. v4 modelinin nasıl çalıştığı hakkında daha fazla bilgi için Azure İşlevleri Node.js geliştirici kılavuzuna bakın. v3 ile v4 arasındaki farklar hakkında daha fazla bilgi edinmek için geçiş kılavuzuna bakın.
Azure İşlevleri, Python için iki programlama modelini destekler. Bağlamalarınızı tanımlama şekliniz seçtiğiniz programlama modeline bağlıdır.
Python v2 programlama modeli, doğrudan Python işlev kodunuzda dekoratörleri kullanarak bağlamaları tanımlamanıza olanak tanır. Daha fazla bilgi için bkz . Python geliştirici kılavuzu.
Bu makale her iki programlama modelini de destekler.
Örnek
Bu örnekte, dakikaların beşe bölünebilen bir değeri her seferinde yürütülen bir C# işlevi gösterilir. Örneğin, işlev 18:55:00'da başladığında, sonraki yürütme 19:00:00'da olur. TimerInfo
İşleve bir nesne geçirilir.
C# işlevi aşağıdaki C# modlarından biri kullanılarak oluşturulabilir:
- Yalıtılmış çalışan modeli: Çalışma zamanından yalıtılmış bir çalışan işleminde çalışan derlenmiş C# işlevi. LTS ve .NET ve .NET Framework dışındaki sürümlerde çalışan C# işlevlerini desteklemek için yalıtılmış çalışan işlemi gereklidir. Yalıtılmış çalışan işlemi işlevleri için uzantılar ad alanlarını kullanır
Microsoft.Azure.Functions.Worker.Extensions.*
. - İşlem içi model: İşlevler çalışma zamanıyla aynı işlemde çalışan derlenmiş C# işlevi. Bu modelin bir varyasyonunda, İşlevler öncelikle C# portalı düzenleme için desteklenen C# betiği kullanılarak çalıştırılabilir. İşlem içi işlevlerin uzantıları ad alanlarını kullanır
Microsoft.Azure.WebJobs.Extensions.*
.
Önemli
İşlem içi model desteği 10 Kasım 2026'da sona erecektir. Tam destek için uygulamalarınızı yalıtılmış çalışan modeline geçirmenizi kesinlikle öneririz.
//<docsnippet_fixed_delay_retry_example>
[Function(nameof(TimerFunction))]
[FixedDelayRetry(5, "00:00:10")]
public static void Run([TimerTrigger("0 */5 * * * *")] TimerInfo timerInfo,
FunctionContext context)
{
var logger = context.GetLogger(nameof(TimerFunction));
Aşağıdaki örnek işlev her beş dakikada bir tetikler ve yürütülür. @TimerTrigger
İşlevdeki ek açıklama, CRON ifadeleriyle aynı dize biçimini kullanarak zamanlamayı tanımlar.
@FunctionName("keepAlive")
public void keepAlive(
@TimerTrigger(name = "keepAliveTrigger", schedule = "0 */5 * * * *") String timerInfo,
ExecutionContext context
) {
// timeInfo is a JSON string, you can deserialize it to an object using your favorite JSON library
context.getLogger().info("Timer is triggered: " + timerInfo);
}
Aşağıdaki örnekte, zamanlayıcıyı temsil eden bir örneğin işleve geçirildiği bağlamayı kullanan bir zamanlayıcı tetikleyici bağlaması ve işlev kodu gösterilmektedir. İşlev, bu işlev çağrısının yanlış bir zamanlama oluşumundan kaynaklanıp kaynaklanmadığını belirten bir günlük yazar. Örnek, v1 veya v2 Python programlama modelini kullanıp kullanmadığınıza bağlıdır.
import datetime
import logging
import azure.functions as func
app = func.FunctionApp()
@app.function_name(name="mytimer")
@app.timer_trigger(schedule="0 */5 * * * *",
arg_name="mytimer",
run_on_startup=True)
def test_function(mytimer: func.TimerRequest) -> None:
utc_timestamp = datetime.datetime.utcnow().replace(
tzinfo=datetime.timezone.utc).isoformat()
if mytimer.past_due:
logging.info('The timer is past due!')
logging.info('Python timer trigger function ran at %s', utc_timestamp)
Aşağıdaki örnekte bir zamanlayıcı tetikleyicisi TypeScript işlevi gösterilmektedir.
import { app, InvocationContext, Timer } from '@azure/functions';
export async function timerTrigger1(myTimer: Timer, context: InvocationContext): Promise<void> {
context.log('Timer function processed request.');
}
app.timer('timerTrigger1', {
schedule: '0 */5 * * * *',
handler: timerTrigger1,
});
Aşağıdaki örnekte bir zamanlayıcı tetikleyicisi JavaScript işlevi gösterilmektedir.
function.json dosyasındaki bağlama verileri aşağıdadır:
{
"schedule": "0 */5 * * * *",
"name": "myTimer",
"type": "timerTrigger",
"direction": "in"
}
Run.ps1 dosyasındaki zamanlayıcı işlev kodu aşağıdadır:
# Input bindings are passed in via param block.
param($myTimer)
# Get the current universal time in the default string format.
$currentUTCtime = (Get-Date).ToUniversalTime()
# The 'IsPastDue' property is 'true' when the current function invocation is later than scheduled.
if ($myTimer.IsPastDue) {
Write-Host "PowerShell timer is running late!"
}
# Write an information log with the current time.
Write-Host "PowerShell timer trigger function ran! TIME: $currentUTCtime"
Özellikler
İşlem içi C# kitaplığıNda Microsoft.Azure.WebJobs.Extensions'tan TimerTriggerAttribute kullanılırken, yalıtılmış çalışan işlemi C# kitaplığı işlevi tanımlamak için Microsoft.Azure.Functions.Worker.Extensions.Timer dosyasından TimerTriggerAttribute kullanır. C# betiği bunun yerine bir function.json yapılandırma dosyası kullanır.
Öznitelik özelliği | Açıklama |
---|---|
Plan | CRON ifadesi veya TimeSpan değeri. yalnızca TimeSpan App Service Planı üzerinde çalışan bir işlev uygulaması için kullanılabilir. Zamanlama ifadesini bir uygulama ayarına yerleştirebilir ve bu özelliği olarak işaretlerde % sarmalanmış uygulama ayarı adı olarak %ScheduleAppSetting% ayarlayabilirsiniz. |
RunOnStartup | ise true , çalışma zamanı başlatıldığında işlev çağrılır. Örneğin işlev uygulaması etkinlik dışı olması nedeniyle boşta kaldıktan sonra uyandırıldığında çalışma zamanı başlatılır. işlev değişiklikleri nedeniyle işlev uygulaması yeniden başlatıldığında ve işlev uygulamasının ölçeği genişletildiğinde. Dikkatli kullanın. RunOnStartup , özellikle üretimde olarak ayarlanmadıysa true nadiren ayarlanmalıdır. |
UseMonitor | Zamanlamanın izlenip izlenmeyeceğini göstermek üzere true veya false olarak ayarlayın. Zamanlama izleme, işlev uygulaması örnekleri yeniden başlatıldığında bile zamanlamanın doğru bir şekilde korunmasına yardımcı olmak için zamanlama yinelemelerinde kalıcı olur. Açıkça ayarlanmazsa, varsayılan değer true 1 dakikadan büyük veya buna eşit bir yineleme aralığına sahip zamanlamalar içindir. Dakikada bir kereden fazla tetikleyen zamanlamalar için varsayılan değerdir false . |
Dekoratörler
Yalnızca Python v2 programlama modeli için geçerlidir.
Bir dekoratör kullanılarak tanımlanan Python v2 işlevleri için, üzerinde aşağıdaki özellikler:schedule
Özellik | Açıklama |
---|---|
arg_name |
İşlev kodundaki zamanlayıcı nesnesini temsil eden değişkenin adı. |
schedule |
NCRONTAB ifadesi veya TimeSpan değeri. yalnızca TimeSpan App Service Planı üzerinde çalışan bir işlev uygulaması için kullanılabilir. Zamanlama ifadesini bir uygulama ayarına ekleyebilir ve bu özelliği şu örnekte olduğu gibi işaretlerde % sarmalanmış uygulama ayarı adı olarak ayarlayabilirsiniz: "%ScheduleAppSetting%". |
run_on_startup |
ise true , çalışma zamanı başlatıldığında işlev çağrılır. Örneğin işlev uygulaması etkinlik dışı olması nedeniyle boşta kaldıktan sonra uyandırıldığında çalışma zamanı başlatılır. işlev değişiklikleri nedeniyle işlev uygulaması yeniden başlatıldığında ve işlev uygulamasının ölçeği genişletildiğinde. Dikkatli kullanın. runOnStartup , özellikle üretimde olarak ayarlıysa true nadiren olmalıdır. |
use_monitor |
Zamanlamanın izlenip izlenmeyeceğini göstermek üzere true veya false olarak ayarlayın. Zamanlama izleme, işlev uygulaması örnekleri yeniden başlatıldığında bile zamanlamanın doğru bir şekilde korunmasına yardımcı olmak için zamanlama yinelemelerinde kalıcı olur. Açıkça ayarlanmazsa, varsayılan değer true 1 dakikadan büyük veya buna eşit bir yineleme aralığına sahip zamanlamalar içindir. Dakikada bir kereden fazla tetikleyen zamanlamalar için varsayılan değerdir false . |
function.json kullanılarak tanımlanan Python işlevleri için Yapılandırma bölümüne bakın.
Ek Açıklamalar
@TimerTrigger
İşlevdeki ek açıklama, CRON ifadeleriyle aynı dize biçimini kullanarak öğesini tanımlarschedule
. Ek açıklama aşağıdaki ayarları destekler:
Yapılandırma
Yalnızca Python v1 programlama modeli için geçerlidir.
Aşağıdaki tabloda, yöntemine geçirilen app.timer()
nesnede options
ayarlayabileceğiniz özellikler açıklanmaktadır.
Özellik | Açıklama |
---|---|
schedule | NCRONTAB ifadesi veya TimeSpan değeri. yalnızca TimeSpan App Service Planı üzerinde çalışan bir işlev uygulaması için kullanılabilir. Zamanlama ifadesini bir uygulama ayarına ekleyebilir ve bu özelliği şu örnekte olduğu gibi işaretlerde % sarmalanmış uygulama ayarı adı olarak ayarlayabilirsiniz: "%ScheduleAppSetting%". |
runOnStartup | ise true , çalışma zamanı başlatıldığında işlev çağrılır. Örneğin işlev uygulaması etkinlik dışı olması nedeniyle boşta kaldıktan sonra uyandırıldığında çalışma zamanı başlatılır. işlev değişiklikleri nedeniyle işlev uygulaması yeniden başlatıldığında ve işlev uygulamasının ölçeği genişletildiğinde. Dikkatli kullanın. runOnStartup , özellikle üretimde olarak ayarlıysa true nadiren olmalıdır. |
useMonitor | Zamanlamanın izlenip izlenmeyeceğini göstermek üzere true veya false olarak ayarlayın. Zamanlama izleme, işlev uygulaması örnekleri yeniden başlatıldığında bile zamanlamanın doğru bir şekilde korunmasına yardımcı olmak için zamanlama yinelemelerinde kalıcı olur. Açıkça ayarlanmazsa, varsayılan değer true 1 dakikadan büyük veya buna eşit bir yineleme aralığına sahip zamanlamalar içindir. Dakikada bir kereden fazla tetikleyen zamanlamalar için varsayılan değerdir false . |
Aşağıdaki tabloda, function.json dosyasında ayarladığınız bağlama yapılandırma özellikleri açıklanmaktadır.
function.json özelliği | Açıklama |
---|---|
type | "timerTrigger" olarak ayarlanmalıdır. Bu özellik, Tetikleyiciyi Azure portalında oluşturduğunuzda otomatik olarak ayarlanır. |
direction | "in" olarak ayarlanmalıdır. Bu özellik, Tetikleyiciyi Azure portalında oluşturduğunuzda otomatik olarak ayarlanır. |
ad | İşlev kodundaki zamanlayıcı nesnesini temsil eden değişkenin adı. |
schedule | NCRONTAB ifadesi veya TimeSpan değeri. yalnızca TimeSpan App Service Planı üzerinde çalışan bir işlev uygulaması için kullanılabilir. Zamanlama ifadesini bir uygulama ayarına ekleyebilir ve bu özelliği şu örnekte olduğu gibi işaretlerde % sarmalanmış uygulama ayarı adı olarak ayarlayabilirsiniz: "%ScheduleAppSetting%". |
runOnStartup | ise true , çalışma zamanı başlatıldığında işlev çağrılır. Örneğin işlev uygulaması etkinlik dışı olması nedeniyle boşta kaldıktan sonra uyandırıldığında çalışma zamanı başlatılır. işlev değişiklikleri nedeniyle işlev uygulaması yeniden başlatıldığında ve işlev uygulamasının ölçeği genişletildiğinde. Dikkatli kullanın. runOnStartup , özellikle üretimde olarak ayarlıysa true nadiren olmalıdır. |
useMonitor | Zamanlamanın izlenip izlenmeyeceğini göstermek üzere true veya false olarak ayarlayın. Zamanlama izleme, işlev uygulaması örnekleri yeniden başlatıldığında bile zamanlamanın doğru bir şekilde korunmasına yardımcı olmak için zamanlama yinelemelerinde kalıcı olur. Açıkça ayarlanmazsa, varsayılan değer true 1 dakikadan büyük veya buna eşit bir yineleme aralığına sahip zamanlamalar içindir. Dakikada bir kereden fazla tetikleyen zamanlamalar için varsayılan değerdir false . |
Yerel olarak geliştirme yaparken uygulama ayarlarınızı koleksiyondaki local.settings.json dosyasına Values
ekleyin.
Dikkat
Üretimde runOnStartup true
olarak ayarlamayın. Bu ayarın kullanılması, kodun tahmin edilemeyen zamanlarda yürütülmesini sağlar. Bazı üretim ayarlarında, bu ek yürütmeler tüketim planında barındırılan uygulamalar için önemli ölçüde daha yüksek maliyetlere neden olabilir. Örneğin runOnStartup etkinleştirildiğinde işlev uygulamanız her ölçeklendirilildiğinde tetikleyici çağrılır. Üretimde runOnStartup'ı etkinleştirmeden önce işlevlerinizin üretim davranışını tam olarak anladığınızdan emin olun.
Tam örnekler için Örnek bölümüne bakın.
Kullanım
Zamanlayıcı tetikleyici işlevi çağrıldığında, işleve bir zamanlayıcı nesnesi geçirilir. Aşağıdaki JSON, zamanlayıcı nesnesinin örnek bir gösterimidir.
{
"Schedule":{
"AdjustForDST": true
},
"ScheduleStatus": {
"Last":"2016-10-04T10:15:00+00:00",
"LastUpdated":"2016-10-04T10:16:00+00:00",
"Next":"2016-10-04T10:20:00+00:00"
},
"IsPastDue":false
}
{
"schedule":{
"adjustForDST": true
},
"scheduleStatus": {
"last":"2016-10-04T10:15:00+00:00",
"lastUpdated":"2016-10-04T10:16:00+00:00",
"next":"2016-10-04T10:20:00+00:00"
},
"isPastDue":false
}
isPastDue
özelliği, true
geçerli işlev çağrısının zamanlanandan sonra olmasıdır. Örneğin, bir işlev uygulamasının yeniden başlatılması çağrının kaçırılmasına neden olabilir.
NCRONTAB ifadeleri
Azure İşlevleri,NCRONTAB ifadelerini yorumlamak için NCronTab kitaplığı. NCRONTAB ifadesi CRON ifadesine benzer, ancak başlangıçta saniye olarak zaman duyarlığı için kullanılacak ek bir altıncı alan içerir:
{second} {minute} {hour} {day} {month} {day-of-week}
Her alan aşağıdaki değer türlerinden birine sahip olabilir:
Tür | Örnek | Tetiklendiğinde |
---|---|---|
Belirli bir değer | 0 5 * * * * |
Günün her saati saat 5'inde bir kez |
Tüm değerler (* ) |
0 * 5 * * * |
Saatte bir dakikada, saatte 5 |
Aralık (- işleç) |
5-7 * * * * * |
Dakikada üç kez - her günün her saatinin her dakikası boyunca saniye 5 ile 7 arasında |
Bir değer kümesi (, işleç) |
5,8,10 * * * * * |
Dakikada üç kez - her günün her saatinin her dakikası boyunca 5, 8 ve 10 saniye |
Aralık değeri (/ işleç) |
0 */5 * * * * |
Saatte 12 kez - her günün her saatinin her 5. dakikasının ikinci 0'ında |
Ayları veya günleri belirtmek için adların sayısal değerlerini, adlarını veya kısaltmalarını kullanabilirsiniz:
- Günler için sayısal değerler 0 ile 6 arasıdır ve burada 0 Pazar ile başlar.
- İsimler İngilizcedir. Örneğin:
Monday
,January
. - Adlar büyük/küçük harfe duyarlı değildir.
- Adlar kısaltılabilir. Kısaltmalar için üç harf kullanmanızı öneririz. Örneğin:
Mon
,Jan
.
NCRONTAB örnekleri
Azure İşlevleri zamanlayıcı tetikleyicisi için kullanabileceğiniz NCRONTAB ifadelerinin bazı örnekleri aşağıda verilmiştir.
Örnek | Tetiklendiğinde |
---|---|
0 */5 * * * * |
beş dakikada bir |
0 0 * * * * |
her saatin en üstünde bir kez |
0 0 */2 * * * |
iki saatte bir |
0 0 9-17 * * * |
09:00 ile 17:00 arasında saatte bir |
0 30 9 * * * |
her gün 09:30'da |
0 30 9 * * 1-5 |
hafta içi her gün 09:30'da |
0 30 9 * Jan Mon |
Ocak ayında her Pazartesi 09:30'da |
Not
NCRONTAB ifadesi hem beş alan hem de altı alan biçimini destekler. Altıncı alan konumu, ifadenin başına yerleştirilen saniyelerin değeridir. CRON ifadesi geçersizse, Application Insights bağlıysa Azure Portal İşlev Testi 404 hatası görüntüler ve daha fazla ayrıntı orada günlüğe kaydedilir.
NCRONTAB saat dilimleri
NCRONTAB ifadesindeki sayılar bir zaman aralığına değil saat ve tarihe başvurur. Örneğin, alandaki 5 hour
, her 5 saatte bir değil, 05:00'e başvurur.
CRON ifadeleriyle kullanılan varsayılan saat dilimi Eşgüdümlü Evrensel Saat'tir (UTC). CRON ifadenizin başka bir saat dilimine dayalı olmasını sağlamak için işlev uygulamanız için adlı WEBSITE_TIME_ZONE
bir uygulama ayarı oluşturun.
Bu ayarın değeri, işlev uygulamanızın üzerinde çalıştırıldığı işletim sistemine ve plana bağlıdır.
İşletim sistemi | Planlama | Değer |
---|---|---|
Windows | Tümü | Değeri, Windows komutu tarafından verilen her çiftten ikinci satır tarafından verilen istenen saat diliminin adına ayarlayın tzutil.exe /L |
Linux | Premium Ayrılmış |
değeri, tz veritabanında gösterildiği gibi istenen saat diliminin adına ayarlayın. |
Not
WEBSITE_TIME_ZONE
ve TZ
şu anda Bir Tüketim planında Linux üzerinde çalışırken desteklenmez. Bu durumda, SSL ile ilgili sorunları ayarlamak WEBSITE_TIME_ZONE
veya TZ
oluşturmak ve ölçümlerin uygulamanız için çalışmayı durdurmasına neden olabilir.
Örneğin, ABD'de Doğu Saati ((Windows) veya America/New_York
(Linux) ile Eastern Standard Time
temsil edilir) şu anda standart saat sırasında UTC-05:00 ve yaz saati sırasında UTC-04:00 kullanır. Zamanlayıcı tetikleyicisinin her gün doğu saatiyle 10:00'da tetikleyebilmek için işlev uygulamanız için adlı WEBSITE_TIME_ZONE
bir uygulama ayarı oluşturun, değeri Eastern Standard Time
(Windows) veya America/New_York
(Linux) olarak ayarlayın ve aşağıdaki NCRONTAB ifadesini kullanın:
"0 0 10 * * *"
Kullandığınızda WEBSITE_TIME_ZONE
saat, gün ışığından yararlanma saati ve standart saat değişiklikleri de dahil olmak üzere belirli bir saat dilimindeki saat değişiklikleri için ayarlanır.
TimeSpan
yalnızca TimeSpan
App Service Planı üzerinde çalışan bir işlev uygulaması için kullanılabilir.
NCRONTAB ifadelerinden farklı olarak, bir TimeSpan
değer her işlev çağrısı arasındaki zaman aralığını belirtir. Belirtilen aralıktan daha uzun süre çalıştırıldıktan sonra bir işlev tamamlandığında, zamanlayıcı işlevi hemen yeniden çağırır.
Dize olarak ifade edilen biçim, TimeSpan
24'ten küçük olduğundadır hh:mm:ss
hh
. İlk iki basamak 24 veya daha büyük olduğunda, biçimi şeklindedir dd:hh:mm
. Burada bazı örnekler verilmiştir:
Örnek | Tetiklendiğinde |
---|---|
"01:00:00" | saatte bir |
"00:01:00" | dakikada bir |
"25:00:00:00" | 25 günde bir |
"1.00:00:00" | Her gün |
Ölçeklendirme
Bir işlev uygulamasının ölçeği birden çok örneğe genişletilirse, tüm örneklerde zamanlayıcıyla tetiklenen bir işlevin yalnızca tek bir örneği çalıştırılır. Hala çalışan bekleyen bir çağrı varsa, yeniden tetiklenmez.
Depolamayı paylaşan işlev uygulamaları
Depolama hesaplarını app service'e dağıtılmayan işlev uygulamaları arasında paylaşıyorsanız, her uygulamaya açıkça konak kimliği atamanız gerekebilir.
İşlevler sürümü | Ayar |
---|---|
2.x (ve üzeri) | AzureFunctionsWebHost__hostid ortam değişkeni |
1.x | id host.json |
Tanımlayıcı değeri atlayabilir veya her işlev uygulamasının tanımlayıcı yapılandırmasını farklı bir değere el ile ayarlayabilirsiniz.
Zamanlayıcı tetikleyicisi, bir işlev uygulamasının ölçeğini birden çok örneğe genişlettiğinde yalnızca bir zamanlayıcı örneği olduğundan emin olmak için bir depolama kilidi kullanır. İki işlev uygulaması aynı tanımlayıcı yapılandırmayı paylaşıyorsa ve her biri bir zamanlayıcı tetikleyicisi kullanıyorsa, yalnızca bir zamanlayıcı çalışır.
Yeniden deneme davranışı
Kuyruk tetikleyicisinin aksine, bir işlev başarısız olduktan sonra zamanlayıcı tetikleyicisi yeniden denemez. Bir işlev başarısız olduğunda, zamanlamada bir sonraki sefere kadar yeniden çağrılmaz.
Zamanlayıcı tetikleyicilerini el ile çağırma
Azure İşlevleri için zamanlayıcı tetikleyicisi, işlevi el ile tetikleme amacıyla çağrılabilen bir HTTP web kancası sağlar. Bu, aşağıdaki senaryolarda son derece yararlı olabilir.
- Tümleştirme testi
- Duman testi veya ısınma etkinliğinin parçası olarak yuva değiştirmeleri
- Veritabanındaki bir önbelleği veya arama tablosunu hemen doldurmak için bir işlevin ilk dağıtımı
Zamanlayıcıyla tetiklenen bir işlevi el ile çağırma hakkında ayrıntılı bilgi için lütfen HTTP ile tetiklenmeyen bir işlevi el ile çalıştırma bölümüne bakın.
Sorun giderme
Zamanlayıcı tetikleyicisi beklendiği gibi çalışmadığında yapılması gerekenler hakkında bilgi için bkz . Zamanlayıcı ile tetiklenen işlevlerin tetiklenmemesiyle ilgili sorunları araştırma ve raporlama.