/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Tilfældig planlagt kørsel af jobs
Fra : Thomas Damgaard Niel~


Dato : 16-06-05 19:10

Hej.

Jeg har brug for at køre et job på tilfældige (eller pseudo-tilfældige)
tidspunkter.
Mere præcist er det, jeg har brug for, at køre et job en gang per
tidsinterval, men på et tilfældigt tidspunkt i det interval.
For at gøre det nemt forklarer jeg det med intervaller på en time:
Et job skal en gang hver klokketime. Minuttet inden for hver time skal
være tilfældigt. F.eks. kunne afviklingen af jobbet begynde på følgende
tidspunkter:
0:02, 1:23, 2:56, 3:04, 4:04, 5:37...23:09
Jeg har forestillet mig noget i stil med at lade cron køre et job hver
time som så afvikler det job som skal køres tilfældigt. Altså noget med
at lave et shellscript som laver en random sleep og derefter starter jobbet.
Jeg ved ikke, om det er en fornuftig måde at gøre det på.
Har I nogle bedre forslag? - eller noget kritik til den måde, jeg har
tænkt mig at gøre det på?
Jeg har endnu ikke fundet på, hvordan jeg skal få det shellscript som
skal afvikle jobbet tilfældigt til at sove i et tilfældigt antal
minutter/sekunder.

--
Thomas Damgaard Nielsen - http://thomasdamgaard.dk
"Det er i hvert fald i størrelsesordenen 1000 eller flere om året der
dør i Danmark af partikler." -- Steffen Loft, professor, Københavns
Universitet

 
 
Andreas Lorensen (16-06-2005)
Kommentar
Fra : Andreas Lorensen


Dato : 16-06-05 21:30

Thomas Damgaard Nielsen wrote:
> Jeg har endnu ikke fundet på, hvordan jeg skal få det shellscript som
> skal afvikle jobbet tilfældigt til at sove i et tilfældigt antal
> minutter/sekunder.

Jeg tror du skal lave et cronjob der kører hver time. Jobbet skal kører at
med et random minuttal i indeværende time.
Men hvordan det let laves skal jeg lige tænke over. Det er jo en sjov
opgave.

/A



Peter Makholm (16-06-2005)
Kommentar
Fra : Peter Makholm


Dato : 16-06-05 21:47

Andreas Lorensen <andlo@sodemark.dk> writes:

> Thomas Damgaard Nielsen wrote:
>> Jeg har endnu ikke fundet på, hvordan jeg skal få det shellscript som
>> skal afvikle jobbet tilfældigt til at sove i et tilfældigt antal
>> minutter/sekunder.

sleep $(( $RANDOM % 3600))

Men det er vist ikke helt ligefordelt.

> Jeg tror du skal lave et cronjob der kører hver time. Jobbet skal kører at
> med et random minuttal i indeværende time.

Det var ogsåmin første tanke, men jeg tror ikke at det på nogen måder
er pænere end bare at lave en sleep med et passende stykke tid.

--
Peter Makholm | The four letter word beginning with L?
peter@makholm.net | It's life, love, libc or lisp
http://hacking.dk | -- Depending on you point of view

Peter Dalgaard (16-06-2005)
Kommentar
Fra : Peter Dalgaard


Dato : 16-06-05 22:53

Peter Makholm <peter@makholm.net> writes:

> Andreas Lorensen <andlo@sodemark.dk> writes:
>
> > Thomas Damgaard Nielsen wrote:
> >> Jeg har endnu ikke fundet på, hvordan jeg skal få det shellscript som
> >> skal afvikle jobbet tilfældigt til at sove i et tilfældigt antal
> >> minutter/sekunder.
>
> sleep $(( $RANDOM % 3600))
>
> Men det er vist ikke helt ligefordelt.

$RANDOM * 3600 / 32768

burde virke bedre.

--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Peter Jensen (16-06-2005)
Kommentar
Fra : Peter Jensen


Dato : 16-06-05 21:49

Thomas Damgaard Nielsen wrote:

> Jeg har brug for at køre et job på tilfældige (eller
> pseudo-tilfældige) tidspunkter.

Jeg er nysgerrig ... hvorfor?

> Mere præcist er det, jeg har brug for, at køre et job en gang per
> tidsinterval, men på et tilfældigt tidspunkt i det interval. For at
> gøre det nemt forklarer jeg det med intervaller på en time: Et job
> skal en gang hver klokketime. Minuttet inden for hver time skal være
> tilfældigt. F.eks. kunne afviklingen af jobbet begynde på følgende
> tidspunkter:
>
> 0:02, 1:23, 2:56, 3:04, 4:04, 5:37...23:09

Så det ville f.eks. ikke være et problem at det kørte 23:59, derefter
0:01, og til sidst 1:59? Bare for at sætte det på spidsen ...

> Jeg har forestillet mig noget i stil med at lade cron køre et job hver
> time som så afvikler det job som skal køres tilfældigt. Altså noget
> med at lave et shellscript som laver en random sleep og derefter
> starter jobbet. Jeg ved ikke, om det er en fornuftig måde at gøre det
> på. Har I nogle bedre forslag? - eller noget kritik til den måde, jeg
> har tænkt mig at gøre det på?

Det er nok den hurtigste måde at gøre det, hvis det er det du mener.
Det er nok også den måde jeg selv ville gøre det på. Hvis jobbet tager
noget tid at afvikle, så kunne det ske at to instanser vil overlappe
hinanden. Det skal du lige huske at tage højde for på en eller anden
måde. Metoden afhænger lidt af jobbet.

> Jeg har endnu ikke fundet på, hvordan jeg skal få det shellscript som
> skal afvikle jobbet tilfældigt til at sove i et tilfældigt antal
> minutter/sekunder.

I bash vil 'sleep $(( $RANDOM * 60 / 32768 ))m' sove mellem 0 og 59
minutter.

--
PeKaJe

As my dear auntie used to say, "Love makes the world go 'round, but sex
makes the ride fun."

torben (17-06-2005)
Kommentar
Fra : torben


Dato : 17-06-05 14:37

Peter Jensen wrote:
> Thomas Damgaard Nielsen wrote:
>
>
>>Jeg har brug for at køre et job på tilfældige (eller
>>pseudo-tilfældige) tidspunkter.
>

Det er muligvi ikke megen hjælp, men jeg havde et tilsvarende problem.
Jeg løste det med et lille java program ser styrer det hele internt.

Men jeg skulle også gemme en del i en database.


>
> Jeg er nysgerrig ... hvorfor?


Jeg administrerer en internet løsning i en mindre boligforeing, hvor vi
deler en linie.

Ved at lave jævnlige "hastighedsmålinger" ud mod telestyrelelsens
hastighedstestserver på denne måde får vi et indtryk, af hvordan
løsningen er for den enkelte. Samt at vi nemt kan se, når vi begynder at
have kapacitetsproblemer.

Vi bruger det som et supplement til MRTG.

Torben

Thomas Damgaard Niel~ (18-06-2005)
Kommentar
Fra : Thomas Damgaard Niel~


Dato : 18-06-05 20:30

Peter Jensen wrote:
>>Jeg har brug for at køre et job på tilfældige (eller
>>pseudo-tilfældige) tidspunkter.
>
>
> Jeg er nysgerrig ... hvorfor?

Det er en længere historie som ikke rigtigt er on-topic her.
Jeg vil måske fortælle om det, hvis jeg får det jeg er ved at lave til
at virke som det skal :)


>>Mere præcist er det, jeg har brug for, at køre et job en gang per
>>tidsinterval, men på et tilfældigt tidspunkt i det interval. For at
>>gøre det nemt forklarer jeg det med intervaller på en time: Et job
>>skal en gang hver klokketime. Minuttet inden for hver time skal være
>>tilfældigt. F.eks. kunne afviklingen af jobbet begynde på følgende
>>tidspunkter:
>>
>>0:02, 1:23, 2:56, 3:04, 4:04, 5:37...23:09
>
>
> Så det ville f.eks. ikke være et problem at det kørte 23:59, derefter
> 0:01, og til sidst 1:59? Bare for at sætte det på spidsen ...

Ja. Præcist. Det ville ikke være noget problem.


> Det er nok den hurtigste måde at gøre det, hvis det er det du mener.
> Det er nok også den måde jeg selv ville gøre det på. Hvis jobbet tager
> noget tid at afvikle, så kunne det ske at to instanser vil overlappe
> hinanden. Det skal du lige huske at tage højde for på en eller anden
> måde. Metoden afhænger lidt af jobbet.

Hvert job tager som regel et par sekunder, men kan enkelte gange tage op
til et minut eller to.


>>Jeg har endnu ikke fundet på, hvordan jeg skal få det shellscript som
>>skal afvikle jobbet tilfældigt til at sove i et tilfældigt antal
>>minutter/sekunder.
>
>
> I bash vil 'sleep $(( $RANDOM * 60 / 32768 ))m' sove mellem 0 og 59
> minutter.

Ok. Tak.


--
Thomas Damgaard Nielsen - http://thomasdamgaard.dk
"Det er i hvert fald i størrelsesordenen 1000 eller flere om året der
dør i Danmark af partikler." -- Steffen Loft, professor, Københavns
Universitet

Adam Sjøgren (16-06-2005)
Kommentar
Fra : Adam Sjøgren


Dato : 16-06-05 22:53

On Thu, 16 Jun 2005 22:47:17 +0200, Peter wrote:

> Andreas Lorensen <andlo@sodemark.dk> writes:

>> Jeg tror du skal lave et cronjob der kører hver time. Jobbet skal
>> kører at med et random minuttal i indeværende time.

> Det var ogsåmin første tanke, men jeg tror ikke at det på nogen
> måder er pænere end bare at lave en sleep med et passende stykke
> tid.

Overlever et evt. reboot?

Det er ikke sikkert at det er vigtigt...


Mvh.

--
"It troo! Dat darn Kahlfin stole ma spacechip!" Adam Sjøgren
asjo@koldfront.dk

Flemming V. Mortense~ (17-06-2005)
Kommentar
Fra : Flemming V. Mortense~


Dato : 17-06-05 07:08

Thomas Damgaard Nielsen <tdn.usenet@gmail.com> wrote in
news:42b1c057$0$18640$14726298@news.sunsite.dk:

> Hej.
>
> Jeg har brug for at køre et job på tilfældige (eller
> pseudo-tilfældige) tidspunkter.
> Mere præcist er det, jeg har brug for, at køre et job en gang per
> tidsinterval, men på et tilfældigt tidspunkt i det interval.
> For at gøre det nemt forklarer jeg det med intervaller på en time:
> Et job skal en gang hver klokketime. Minuttet inden for hver time skal
> være tilfældigt. F.eks. kunne afviklingen af jobbet begynde på
> følgende tidspunkter:
> 0:02, 1:23, 2:56, 3:04, 4:04, 5:37...23:09
> Jeg har forestillet mig noget i stil med at lade cron køre et job hver
> time som så afvikler det job som skal køres tilfældigt. Altså noget
> med at lave et shellscript som laver en random sleep og derefter
> starter jobbet. Jeg ved ikke, om det er en fornuftig måde at gøre det
> på. Har I nogle bedre forslag? - eller noget kritik til den måde, jeg
> har tænkt mig at gøre det på?
> Jeg har endnu ikke fundet på, hvordan jeg skal få det shellscript som
> skal afvikle jobbet tilfældigt til at sove i et tilfældigt antal
> minutter/sekunder.
>

Et cron job, der starter hver time.
Initielt starter selve jobbet med en random sleep på op til 59 min.

mvh fvm

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste