Gå til innhold

Python skal kjøre flere av denne koden. (nedlasting av bilde fra statisk URL)


Anbefalte innlegg

Hei

 

Jeg har i lang tid forsøkt å få til å laste ned bilder fra nettsider som tilbyr kameraovervåkning. Jeg har ett lite prosjekt hvor jeg laster ned bilder fra mange av kameraene her http://www.kielmonitor.de/

 

koden jeg har til nå brukt er:

#python 2.7
#Time_lapse.py
import sched, time
from urllib import urlretrieve
import datetime
def do_event():
   t = datetime.datetime.now()
   t = time.mktime(t.timetuple())
   t = str(t)[1:10]
   urlretrieve('http://www.portofkiel.com/webcamData/dach.jpg?1362518848281', '%s.jpg' % t)
   s.enter(60, 1, do_event, ())
s = sched.scheduler(time.time, time.sleep)
s.enter(60, 1, do_event, ())
s.run() 

 

Jeg bruker denne på en Raspberry Pi og det fungerer veldig bra og stabilt. Jeg har også forsøkt å kjøre flere slike koder bare med andre URL adresser.

 

Det går helt greit å kjøre 10 stykker samtidig, men etter halvannen til to timer så streiker alle sammen ut.

 

Har dere tips til hvordan jeg kan lage en sketch som inneholder alle mine linker, intervall på ett minutt og at dem ikke laster ned samtidig men med ett delay?

 

På forhånd, tusen takk :)

 

Mvh Jetfighter

Lenke til kommentar
Videoannonse
Annonse

Ja kjenner igjen koden fordi det er jeg som har skrevet den. ;)

 

Det går helt greit å kjøre 10 stykker samtidig, men etter halvannen til to timer så streiker alle sammen ut.

Det kan nok gå greit en stund,med så vil du oppleve låsing/block.

Dette kan helt klart være en oppgave hvor bruk av threading kan løse låsing/block når flere prosesser skal kjøres samtidig.

 

Nå i disse dager er også greenlets populært.

Greenlets all run inside of the OS process for the main program but are scheduled cooperatively.

Her et tutorial med gevent,gevent kan gjøre threading lettere.

 

Python har også en multiprocessing module,denne i forskjell til threading utnytter all kjerner prosessoren.

Men er nok litt overklill og bruke i denne oppgaven.

 

Du får se litt på dette,viss du får problemer får du spørre om hjelp,threading(kjøre flere oppgaver samtidig) er ikke det enkleste og styre med.

Endret av SNIPPSAT
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...