selleri.skemaer karrus

selleri.tidsplaner pri

tidsplaner definerer de intervaller, hvormed periodiske opgaverskal køre.

undtagelsecelery.schedules.ParseExceptionLira

hævet af crontab_parser, når indgangen ikke kan analyseres.

klassecelery.schedules.schedule(run_every=None, relative=False, nufun=None, app=None)

parametre:

  • run_every – Interval i sekunder (eller atimedelta).
  • relativ-hvis den er indstillet til sand, afrundes køretiden til opløsningen af intervallet.
  • nusjov – funktion, der returnerer den aktuelle dato og klokkeslæt(klasse:~datetime.datetime).
  • app-selleri app instans.

appLirahuman_secondsLirais_due(last_run_at) Lira

returnerer tupel af to elementer (is_due, næste_time_to_check),hvor næste gang at kontrollere er i sekunder.

f.eks

  • (True, 20), betyder opgaven skal køres nu, og næste gang at kontrollere er i 20 sekunder.
  • (falsk, 12.3), betyder, at opgaven ikke skyldes, men at planlæggerenskal kontrollere igen om 12,3 sekunder.

næste gang at kontrollere bruges til at spare energi/cpu-cyklusser,behøver det ikke at være nøjagtigt, men vil påvirke præcisionenaf din tidsplan. Du skal også huske påværdien af CELERYBEAT_MAX_LOOP_INTERVAL,som bestemmer det maksimale antal sekunder, som planlæggeren kansove mellem at kontrollere de periodiske opgaveintervaller. Så hvis du har en opgave, der ændrer tidsplanen ved runtime, vil din næste_run_atcheck beslutte, hvor lang tid det vil tage, før en ændring til theschedule træder i kraft. Det maksimale sløjfeinterval tager precendenceover den næste check på værdi returneret.

Scheduler Maks interval varians

standard maks loop interval kan variere for forskellige schedulers.For standard scheduler værdien er 5 minutter, men for f.eks django-selleri database scheduler værdien er 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 et cron-job kan du angive tidsenheder for hvornårdu vil gerne have opgaven at udføre. Det er en rimelig kompletgennemførelse af crons funktioner, så det skal give en rimelig grad af planlægningsbehov.

Du kan angive et minut, en time, en dag i ugen, en dag afmåned og/eller en måned i året i et af følgende formater:

minuteLira

  • A (liste over) heltal fra 0-59, der repræsenterer minutterne afen time for hvornår udførelsen skal finde sted; eller
  • en streng, der repræsenterer et crontab mønster. Dette kan få prettyadvanced, ligesom minut= ‘ * / 15 ‘(for hvert kvartal) orminute=’1,13,30-45,50-59/2’.

hourLira

  • A (liste over) heltal fra 0-23, der repræsenterer timerne påen dag, hvor udførelsen skal finde sted; eller
  • en streng, der repræsenterer et crontab-mønster. Dette kan få prettyadvanced, ligesom hour=’* / 3′(for hver tre timer) orhour=’ 0,8-17/2 ‘ (ved midnat, og hver anden time underoffice timer).

day_of_weekLira

  • A (liste over) heltal fra 0-6, hvor søndag = 0 og Lørdag =6, der repræsenterer de ugedage, som henrettelsen skalforekomme.
  • en streng, der repræsenterer et crontab mønster. Dette kan få prettyadvanced, ligesom day_of_uge= ‘man-fre’ (for hverdage kun).(Pas på, at day_of_uge= ‘* / 2 ‘betyder ikke bogstaveligt ‘ hver anden dag’, men ‘hver dag, der kan deles med to’!)

day_of_monthLira

  • A (liste over) heltal fra 1-31, der repræsenterer dagene afmåned, at udførelsen skal ske.
  • en streng, der repræsenterer et crontab mønster. Dette kan få prettyadvanced, såsom day_of_month= ‘2-30 / 3′(for hver evennumbered dag) eller day_of_month=’ 1-7,15-21 ‘ (for de første ogtredje uger i måneden).

month_of_yearLira

  • A (liste over) heltal fra 1-12, der repræsenterer månederne afåret, hvor udførelse kan forekomme.
  • en streng, der repræsenterer et crontab mønster. Dette kan få prettyadvanced, såsom month_of_year= ‘* / 3′(for den første måned af hvert kvartal) eller month_of_year=’ 2-12/2 ‘ (for hver evennumbered måned).

nowfunliter

funktion, der returnerer den aktuelle dato og klokkeslæt (datetime).

appLira

selleri app-forekomsten.

det er vigtigt at indse, at enhver dag, hvor udførelsen skalforekomme, skal repræsenteres af poster i alle tre af dagen ogmåned attributter. For eksempel, hvis day_of_uge er 0 og day_of_monthis hver syvende dag, vil kun måneder, der begynder på søndag og også er i attributten month_of_year, have eksekveringshændelser. Eller, day_of_uge er 1 og day_of_month er ‘1-7, 15-21’ betyder Hver første og tredje mandag i hver måned til stede i month_of_year.

is_due(last_run_at).

se celery.schedules.schedule.is_due() for mere information.

now() Liraremaining_delta(last_run_at, None, FF=<klasse ‘selleri.utils.timeutils.FFD’>) LRremaining_estimate(last_run_at, FFD=< klasse ‘selleri.utils.timeutils.’>) ret

vender tilbage, når den periodiske opgave skal køre næste som en timedelta.

klassecelery.schedules.crontab_parser(maks_=60, min_=0) ret

Parser til crontab udtryk. Ethvert udtryk for formularen ‘grupper’ (se BNF-grammatik nedenfor) accepteres og udvides til et sæt tal.Disse tal repræsenterer de tidsenheder, som crontab har brug for at køre på:

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

parseren er en generel formål, nyttig til parsing timer, minutter ogdag_of_uge udtryk. Eksempel brug:

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

det kan også analysere day_of_month og month_of_year udtryk, hvis initialiseretmed mindst 1. Eksempelbrug:

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

den maksimale mulige udvidede værdi, der returneres, findes ved formlen:

undtagelseParseException

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.