Flask Periyodik Görev

Flask ile yaptığım oyun serverında hergün saat 00.00’da kullanicilarinin can bilgilerini sifirlamam gerekiyor.Birde pazarı pazartesine bağlayan gece puan tablosunu sıfırlamalıyım bu iki iş için fonksiyon yazdım fakat bunu entegre edemedim flaskta nasıl zamanlı görev oluşturabilirim?

Threading i araştırabilirsiniz.

1 Beğeni

Şu işinizi görür mü:
http://flask.pocoo.org/docs/1.0/patterns/celery/

1 Beğeni

Sorunu APScheduler ile çözdüm.
Önrek kod:
from apscheduler.schedulers.background import BackgroundScheduler
def test_job():
print(‘I am working…’)
scheduler = BackgroundScheduler()
job = scheduler.add_job(test_job, ‘cron’,hour=11, minute=36)
scheduler.start()

Soruyu da cevaplayalim:

Periyodik gorev olusturmak Flask gibi web uygulama framework’lerinin kapsami disinda. Sunucu bazli periyodik gorevler cron ile olusturulabilir. Bunun disinda programin kapsami disinda degilse, surekli calisan bir programin arkaplanina da eklenebilir kabul edilen cevaptaki gibi.

Bir distributed work queue kutuphanesi olan* Celery’de periyodik is destegi olmakla beraber, mevcut altyapi zaten work queue’lar kullanmiyorsa, sirf periyodik task olusturmak icin Celery kullanmak mimariyi gereksiz karmasiklastiracaktir.

*: Acaba degil mi? Cunku bu sekilde kullanmaya calistigimda baya bas agritti. Kendisini de “Celery background tasks” olarak tanitiyor. Hmm, bilemedim.