Yinelenen ve Zincirlenmiş Çalışmalar
Arka plan görevlerini tekrarlayın ve sıralayın.
Yinelenen ve Zincirlenmiş Çalışmalar, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
Yinelenen ve Zincirlenmiş Çalışmalar
Tek seferlik görevlerin ötesinde WorkManager, çalışmaları bir zamanlamaya göre tekrarlayabilir ve birden çok çalışanı zincirleyerek sırayla çalıştırabilir. Bu derste her ikisi de ele alınır.
PeriodicWorkRequest
Yinelenen çalışmalar için bir yineleme aralığı belirterek PeriodicWorkRequestBuilder kullanın. WorkManager çalışanı her aralıkta bir kez yeniden çalıştırır.
val periodic = PeriodicWorkRequestBuilder<SyncWorker>(
repeatInterval = 1,
repeatIntervalTimeUnit = TimeUnit.HOURS
).build()15 Dakikalık Alt Sınır
En kısa yineleme aralığı 15 dakikadır. Daha kısa aralığa sahip istekler 15 dakikaya yuvarlanır. Bu, pili korur; WorkManager saniye saniye zamanlama için kullanılmaz.
Yinelenen Çalışma Kesin Zamanlı Değildir
Aralık kesin bir zamanlayıcı değil, bir kılavuzdur. Sistem, işleri toplu hâlde çalıştırmak ve güç tasarrufu sağlamak için çalışmayı daha geç başlatabilir. Zaman açısından kritik görevler için buna güvenmeyin.
Benzersiz Yinelenen Çalışmayı Kuyruğa Ekleme
Uygulama her açıldığında aynı yinelenen işin birden fazla kopyasının üst üste eklenmesini önlemek için enqueueUniquePeriodicWork kullanın.
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
"daily_sync",
ExistingPeriodicWorkPolicy.KEEP,
periodic
)Zincirleme Nedir
Zincirleme, çalışanları belirli bir sırayla çalıştırır: B adımı yalnızca A adımı başarılı olduktan sonra başlar. Birinin çıktısı diğerinin girdisi olur.
beginWith ve then
Bir zinciri beginWith ile başlatın ve sıralı adımları then ile ekleyin. Tüm zinciri göndermek için enqueue çağrısını yapın.
WorkManager.getInstance(context)
.beginWith(compressRequest)
.then(uploadRequest)
.then(cleanupRequest)
.enqueue()Veriler Zincir Boyunca Akıyor
Bir çalışanın çıktı olarak ürettiği Data, sonraki çalışana girdi olarak iletilir. Böylece compressRequest bir dosya yolu döndürebilir ve uploadRequest bu yolu inputData değerinden okuyabilir.
Zincirde Paralel Adımlar
beginWith işlevine bir liste ileterek birkaç çalışanı paralel çalıştırabilirsiniz; sonraki then, hepsinin tamamlanmasını bekler.
WorkManager.getInstance(context)
.beginWith(listOf(downloadA, downloadB))
.then(mergeRequest)
.enqueue()Hata Zinciri Durdurur
Herhangi bir çalışan Result.failure() döndürürse zincirdeki kalan adımlar iptal edilir. Ancak retry(), ilgili adım sonunda başarılı olana kadar zinciri duraklatır.
Kısıtlamalarla Birleştirme
Bir zincirdeki her istek veya her yinelenen istek kendi kısıtlamalarını taşıyabilir. Örneğin yalnızca yükleme adımı ölçümlendirilmeyen bir ağ gerektirirken sıkıştırma her zaman çalışabilir.
Hızlı Kontrol
Yinelenen ve zincirlenmiş çalışmalar konusundaki anlayışınızı sınayın.
Özet
Yinelenen ve zincirlenmiş çalışmaları öğrendiniz:
PeriodicWorkRequestBuilderçalışmaları yineler; en az 15 dakika sürer ve kesin zamanlı değildirbeginWith().then()çalışanları sırayla zincirler- Çıktı verileri bir adımdan sonrakine akar; listeler paralel çalışır
- Bir hata zinciri iptal eder; her adımın kendi kısıtlamaları olabilir
WorkManager kursunu tamamladınız.
Sıkça Sorulan Sorular
“Yinelenen ve Zincirlenmiş Çalışmalar” dersi ücretsiz mi?
Evet — “Yinelenen ve Zincirlenmiş Çalışmalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“Yinelenen ve Zincirlenmiş Çalışmalar” dersinde ne öğreneceğim?
Arka plan görevlerini tekrarlayın ve sıralayın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Yinelenen ve Zincirlenmiş Çalışmalar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- WorkManager Ne Zaman Kullanılır
- Worker Oluşturma
- Kısıtlamalar ve Zamanlama
- Yinelenen ve Zincirlenmiş Çalışmalar