PhelpsTransposed Skrevet 29. mars 2012 Del Skrevet 29. mars 2012 Hei! Har et pythonscript som henter aksjekurser fra en nettadresse og oppdaterer en liste som ligger på en hjemmeside, men dette må jeg kjøre selv for å oppdatere kursene. Er det mulig at jeg får til at det automatisk kjører seg selv, kanskje 1 gang i timen? Lenke til kommentar
etse Skrevet 29. mars 2012 Del Skrevet 29. mars 2012 det er 2 greie muligheter. Du kan schedule scriptet til å bli kjørt en gang i timen via OSet. F.eks. på windows 7: http://windows.microsoft.com/en-US/windows7/schedule-a-task Eventuelt bare ha kjøringen i en løkke og etter hver kjøring kjøre en "time.sleep(3600)" 1 Lenke til kommentar
PhelpsTransposed Skrevet 30. mars 2012 Forfatter Del Skrevet 30. mars 2012 Takk for svar! På den time.sleep(3600) kan jeg jo kjøre en teller som setter time.sleep(12*3600) siden det ikke er nødvendig å kjøre scriptet utenfor børsens åpningstid? Noen tips til hvordan jeg gjør det i praksis? Lenke til kommentar
etse Skrevet 30. mars 2012 Del Skrevet 30. mars 2012 Hva med å heller i begynnelsen av loppen sjekke hva klokka er nå. Og kjør koden lun om klokka er mellom børstidene. Lenke til kommentar
Valkyrex Skrevet 30. mars 2012 Del Skrevet 30. mars 2012 <loop inntil programmet avsluttes> <hva er klokka?> <hvis klokka er innenfor riktig tid> -> oppdater verdiene <vent 1 time> <> men eventuelt så kunne du ha laget litt mere og fått noe som: <loop inntill avsluttes> <hva er klokka?> <hvis klokka er innenfor riktig tid> <har det gått mer eller akkurat time siden sist jeg sjekket?> (dettte må da lagres i en anna variabel) <hvs ja> -> oppdater verdier, og nullstill "timeren" <> <vent N minutter (mindre enn 1 time, så da får du mere nøyaktige tider. for hva hvis du starter programmet ditt slik at du ikke får den første oppdateringen din før nesten 1 time etter børsåpning)> <> programmet ditt vil allitd kjøre, selv om det ikke er åpningstid, men så skal det sies at dette ikke akkurat kommer til å kvele systemet ditt. Et lite python script som 1 gang hvert 10ende min sjekker hva klokka er, krever ikke mye ressurser =) Jeg hadde gått for mitt andre alternativ, for da får du en mere nøyaktig oppdatering av tiden, og du vil være "raskere" ut med å få en oppdatering, enn hvis programmet f.eks starter kvart over, og oppdateringene kommer ut 10 på hel, da vil den "forsinkelsen" være med under hele kjøringen. Kan hende det er noen fancy måter å gjøre noe sånt i python på, men jeg skriver ikke i python så har lite kompetanse der =) Lenke til kommentar
PhelpsTransposed Skrevet 30. mars 2012 Forfatter Del Skrevet 30. mars 2012 Takk for svar! Lenke til kommentar
snippsat Skrevet 30. mars 2012 Del Skrevet 30. mars 2012 (endret) Bruke OS sin schedule som etse foreslår er greit. Python har en schedule module bygd in. Her et eksempel hvor jeg parser ut prisen på bønner med BeautifulSoup og med sched printer ut resultalt med 10 sek intervall. import sched, time import urllib2 from BeautifulSoup import BeautifulSoup def do_event(): url = urllib2.urlopen('http://beans.itcarlow.ie/prices.html') soup = BeautifulSoup(url) tag = soup.find('strong') print tag.text s.enter(10, 1, do_event, ()) if __name__ == '__main__': s = sched.scheduler(time.time, time.sleep) s.enter(10, 1, do_event, ()) s.run() Endret 30. mars 2012 av SNIPPSAT Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå