zeller.menetrendek

zeller.menetrendek

a menetrendek meghatározzák azokat az intervallumokat, amelyeken a periodikus feladatoknak futniuk kell.

kivételcelery.schedules.ParseException

által felvetett crontab_parser amikor a bemenet nem elemezhető.

classcelery.schedules.schedule(run_every=None, relative=False, nowfun=None, app=None) 6

időszakos feladat ütemezése.

paraméterek:

  • run_every – intervallum másodpercben (vagytimedelta).
  • relative – ha True értékre van állítva, a futási idő az intervallum felbontására lesz kerekítve.
  • nowfun – függvény visszaadja az aktuális dátumot és időt(osztály:~datetime.datetime).
  • app-zeller alkalmazás példány.

appxhamsterenhuman_secondsxhamsterenis_due(last_run_at) xhamsteren

két elemből álló (is_due, next_time_to_check) értéket ad vissza,ahol a következő ellenőrzés másodpercek alatt történik.

pl.

  • (igaz, 20) azt jelenti, hogy a feladatot most kell futtatni, és a következő ellenőrzésre 20 másodperc múlva kerül sor.
  • (hamis, 12.3), azt jelenti, hogy a feladat nem esedékes, hanem az ütemező12,3 másodpercen belül újra ellenőriznie kell.

a következő ellenőrzéskor energiát/cpu ciklusokat takarít meg,nem kell pontosnak lennie, de befolyásolja az ütemezés pontosságát. Azt is szem előtt kell tartaniaa CELERYBEAT_MAX_LOOP_INTERVALértéke,amely meghatározza, hogy az ütemező hány másodpercet tudaludni az időszakos feladatintervallumok újbóli ellenőrzése között. Tehát, ha van olyan feladata, amely futás közben megváltoztatja az ütemtervet, akkor a next_run_atcheck eldönti, hogy mennyi időbe telik, amíg a menetrend módosítása hatályba lép. A Max loop intervallum a következő ellenőrzésnél veszi elő a visszaadott értéket.

ütemező maximális intervallum variancia

Az alapértelmezett maximális ciklus intervallum változhat a különböző ütemezőknél.Az alapértelmezett ütemezőnél az érték 5 perc, de pl. a django-zeller adatbázis ütemezőnél az érték 5 másodperc.

maybe_make_aware(dt)¶nowrelative= False¶remaining_estimate(last_run_at)¶secondsto_local(dt)¶tzutc_enabled¶ classcelery.schedules.crontab(minute=’*’, hour=’*’, day_of_week=’*’, day_of_month=’*’, month_of_year=’*’, nowfun=None, app=None)¶

A crontab can be used as the run_every value of aPeriodicTask to add cron-like scheduling.

mint egy cron feladat, megadhatja az időegységeket, hogy mikor szeretné végrehajtani a feladatot. Ez a cron funkcióinak ésszerűen teljes végrehajtása, ezért az ütemezési igények tisztességes mértékét kell biztosítania.

megadhat egy percet, egy órát, a hét egy napját, a hónap egy napját és/vagy az év egy hónapját a következő formátumok bármelyikében:

minute0-tól 59-ig terjedő egész számok listája, amelyek a végrehajtás órájának percét jelölik; vagy

  • egy crontab mintát ábrázoló karakterlánc. Ez lehet, hogy prettyadvanced, mint minute= ‘* / 15′ (minden negyedévben) orminute=’1,13,30-45,50-59/2’.
  • hour

    • a (0-23 közötti egész számok listája), amelyek a végrehajtás napjának óráit jelölik; vagy
    • egy crontab mintát ábrázoló string. Ez eléggé előrehaladhat, például hour= ‘* / 3′(háromóránként) vagyhour=’ 0,8-17/2 ‘ (éjfélkor, és kétóránként az irodai órákban).

    day_of_week

    • a (lista) 0-6-os egész számok, ahol vasárnap = 0 és szombat =6, amelyek egy hét azon napjait jelentik, amikor a végrehajtásnak meg kell történnie.
    • egy crontab mintát képviselő karakterlánc. Ez eléggé fejlett lehet, mint például a day_of_week=’h-p’ (csak hétköznapokon).(Vigyázz, hogy a day_of_week= ‘* / 2’ szó szerint nem azt jelenti, hogy ‘kétnaponta’, hanem ‘minden nap, ami osztható kettővel’!)

    day_of_monthons

    • a (lista) egész számok 1-31, amely a napok themonth, hogy a végrehajtás meg kell történnie.
    • egy crontab mintát képviselő karakterlánc. Ez eléggé előrehaladhat, például day_of_month= ‘2-30 / 3′(minden számozott napra) vagy day_of_month=’ 1-7,15-21 ‘ (a hónap első és harmadik hetére).

    month_of_year

    • a (lista) egész számok 1-12, amely az év hónapjait jelöli, amelyek során a végrehajtás megtörténhet.
    • egy crontab mintát képviselő karakterlánc. Ez eléggé előrehaladhat, például month_of_year= ‘*/3′(minden negyedév első hónapjára) vagy month_of_year=’ 2-12/2 ‘ (minden számozott hónapra).

    nowfunons

    Az aktuális dátumot és időt visszaadó függvény(datetime).

    appa zeller alkalmazás példánya.

    fontos felismerni, hogy minden olyan nap, amelyen a végrehajtásnak meg kell történnie, a nap mindhárom bejegyzésével kell megjelennie éshónap attribútumok. Például, ha a day_of_week értéke 0, és a day_of_monthis minden hetedik napon, akkor csak a vasárnap kezdődő hónapokban, amelyek szintén a month_of_year attribútumban vannak, lesznek végrehajtási események. Vagy a day_of_week értéke 1, A day_of_month értéke pedig ‘1-7,15-21’ minden hónap első és harmadik hétfőjét jelenti.

    is_due(last_run_at) (last_run_at) (last_run_at) (last_due, next_time_to_run) két tételt ad vissza,ahol a következő Futtatás másodpercben történik.

    további információkért lásd:celery.schedules.schedule.is_due().

    now()remaining_delta(last_run_at, tz=None, ffwd=< osztály ‘zeller.utils.timeutils.FFWD ‘>) onsremaining_estimate(last_run_at, ffwd=<osztály ‘ zeller.utils.timeutils.FFWD ‘ >) A (z)!

    a periodikus feladat következő futtatásakor tér vissza timedelta-ként.

    classcelery.schedules.crontab_parser(max_=60, min_=0)

    elemző a crontab kifejezésekhez. A ‘csoportok’ forma bármely kifejezése (lásd alább a BNF nyelvtant) elfogadásra kerül, és számkészletre bővül.Ezek a számok azt az időegységet képviselik, amelyre a crontabnak szüksége van:

    digit :: '0'..'9'dow :: 'a'..'z'number :: digit+ | dow+steps :: numberrange :: number ( '-' number ) ?numspec :: '*' | rangeexpr :: numspec ( '/' steps ) ?groups :: expr ( ',' expr ) *

    az elemző egy általános célú, hasznos elemzésére óra, perc andday_of_week kifejezéseket. Példa használat:

    >>> minutes = crontab_parser(60).parse('*/15')>>> hours = crontab_parser(24).parse('*/4')>>> day_of_week = crontab_parser(7).parse('*')

    a day_of_month és month_of_year kifejezéseket is elemezheti, ha legalább 1-gyel inicializálják. Példa használat:

    >>> days_of_month = crontab_parser(31, 1).parse('*/3')>>> months_of_year = crontab_parser(12, 1).parse('*/2')>>> months_of_year = crontab_parser(12, 1).parse('2-12/2')

    a maximális lehetséges kiterjesztett értéket a következő képlet adja meg:

    max_ + min_ - 1

    kivételParseException

    Vélemény, hozzászólás?

    Az e-mail-címet nem tesszük közzé.