selleri.scheman Macau

selleri.scheman

scheman definierar de intervall med vilka periodiska uppgifterbör köras.

exceptioncelery.schedules.ParseExceptionPortugals

upphöjt av crontab_parser när ingången inte kan tolkas.

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

schema för periodisk uppgift.

parametrar:

  • run_every-intervall i sekunder (eller ett timedelta).
  • relativ-om den är inställd på True avrundas körtiden till intervallets upplösning.
  • nowfun-funktion som returnerar aktuellt datum och tid(klass:~datetime.datetime).
  • app-selleri app instans.

apphuman_secondsis_due(last_run_at)

returnerar tupel av två objekt (is_due, next_time_to_check),där nästa gång att kontrollera är i sekunder.

t. ex.

  • (True, 20), betyder att uppgiften ska köras nu, och nästa gång att kontrollera är om 20 sekunder.
  • (falsk, 12.3), betyder att uppgiften inte beror, men att schemaläggarenbör kontrollera igen om 12,3 sekunder.

nästa gång du kontrollerar används för att spara energi / cpu-cykler, det behöver inte vara korrekt men kommer att påverka precisionof ditt schema. Du måste också komma ihåg detvärdet av CELERYBEAT_MAX_LOOP_INTERVAL,som bestämmer det maximala antalet sekunder som Schemaläggaren kansova mellan att kontrollera de periodiska uppgiftsintervallen igen. Så om du har en uppgift som ändrar schema vid körning bestämmer din next_run_atcheck hur lång tid det tar innan en ändring av schemat träder i kraft. Max loop intervall tar precendenceover nästa kontroll vid värde returneras.

Scheduler max intervall varians

standard max loop intervall kan variera för olika schemaläggare.För standard schemaläggare värdet är 5 minuter, men för t.ex.django-selleri databas schemaläggare värdet är 5 sekunder.

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.

som ett cron-jobb kan du ange tidsenheter när du vill att uppgiften ska utföras. Det är en rimligt completeimplementation av crons funktioner, så det borde ge en rättvis grad av schemaläggningsbehov.

Du kan ange en minut, en timme, en veckodag, en dag påmånad och/eller en månad på året i något av följande format:

minutebisexuell

  • a (lista över) heltal från 0-59 som representerar minuterna aven timme för när exekvering ska ske; eller
  • en sträng som representerar ett crontabmönster. Detta kan bli prettyadvanced, som minut=’ * / 15 ’(för varje kvartal) ellerminute=’1,13,30-45,50-59/2’.

hour

  • a (lista över) heltal från 0-23 som representerar timmarna aven dag då exekvering ska ske; eller
  • en sträng som representerar ett crontabmönster. Detta kan bli ganskaavancerad, som timme=’ * / 3′(för var tredje timme) eller timme=’ 0,8-17/2 ’ (vid midnatt och varannan timme underkontorstid).

day_of_week

  • a (lista över) heltal från 0-6, där söndag = 0 och lördag =6, som representerar de veckodagar som exekveringen skainträffa.
  • en sträng som representerar ett crontabmönster. Detta kan bli prettyadvanced, som day_of_week= ’ mån-fre ’(endast för vardagar).(Akta dig för att day_of_week=’ * / 2′ betyder inte bokstavligen ’varannan dag’, men ’varje dag som är delbar med två’!)

day_of_month

  • a (lista över) heltal från 1-31 som representerar dagarna för månaden som exekveringen ska ske.
  • en sträng som representerar ett crontabmönster. Detta kan bli prettyadvanced, såsom day_of_month=’2-30/3′ (för varje evennumbered dag) eller day_of_month=’1-7,15-21′ (för de första andthird veckorna i månaden).

month_of_year

  • a (lista över) heltal från 1-12 som representerar månaderna avåret under vilket körning kan inträffa.
  • en sträng som representerar ett crontabmönster. Detta kan bli prettyadvanced, till exempel month_of_year=’*/3′ (för den första månaden varje kvartal) eller month_of_year=’2-12/2′ (för varje jämnnumrerad månad).

nowfun

funktion som returnerar aktuellt datum och tid (datetime).

appbisexuell

selleri app instans.

det är viktigt att inse att varje dag då utförandet börinträffa måste representeras av poster i alla tre av dagen ochmånad attribut. Till exempel, om day_of_week är 0 och day_of_monthis var sjunde dag, bara månader som börjar på söndag och är ocksåi attributet month_of_year kommer att ha exekveringshändelser. Eller, day_of_week är 1 och day_of_month är ’1-7, 15-21’ betyder everyfirst och third monday i varje månad närvarande i month_of_year.

is_due(last_run_at) bisexuell

returnerar tupel av två objekt (is_due, next_time_to_run),där nästa gång att köra är i sekunder.

se celery.schedules.schedule.is_due() för mer information.

now() indonesiaremaining_delta(last_run_at, tz=None, ffwd=<klass ’selleri.utils.timeutils.ffwd ’>remaining_estimate(last_run_at, ffwd=<klass ’selleri.utils.timeutils.ffwd ’ >)

returnerar när den periodiska aktiviteten ska köras nästa som en timedelta.

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

parser för crontab-uttryck. Alla uttryck av formen ’grupper’ (se BNF grammatik nedan) accepteras och utvidgas till en uppsättning siffror.Dessa siffror representerar de tidsenheter som crontab behöver torun på:

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

parsern är ett allmänt ändamål, användbart för att analysera timmar, minuter ochdag_of_week uttryck. Exempel användning:

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

det kan också tolka day_of_month och month_of_year uttryck om initializedwith minst 1. Exempelanvändning:

>>> 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')

det maximala möjliga expanderade värdet som returneras hittas med formeln:

max_ + min_ - 1

undantagParseException

Lämna ett svar

Din e-postadress kommer inte publiceras.