Parallel :: afhankelijk

Parallel-afhankelijke verzending van PERL- of Shell-code
Download nu

Parallel :: afhankelijk Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Steven Lembark
  • Uitgever website:
  • http://search.cpan.org/~lembark/

Parallel :: afhankelijk Tags


Parallel :: afhankelijk Beschrijving

Parallel-afhankelijke verzending van Perl of shell code Parallel :: Depend is een Perl module die parallel afhankelijk verzending van Perl werkwijzen perl functies inline codeblokken of shellcommando's doet. Het schema syntax is afgeleid van te maken, maar niet vereist dat alle vacatures worden verpakt in shell code uit te voeren en ondersteunt ook sub-schema's ( "groepen") die worden verzonden als een unit.Execution geschiedenis, met inbegrip stdout en stderr van elke taak, wordt bewaard in per-job-bestanden voor eenvoudiger toegang na de fact.SYNOPSIS pakket Mine; gebruik base qw (Parallel :: Depend Whatever :: Else); mijn $ manager = Mine-> constructify (@whatever); mijn @argz = (# waardes aan attributen opnieuw op te starten => '', # herstart in-process wachtrij force => '', # negeren / overschrijven vorige uitvoering verbose => 1, # rustig (0), vooruitgang (1), detail (2). debug => 0, # DB :: enkele set voor het eerste ontleden, verzending nofork => '', # single-stroom, handig voor het testen. MaxJobs => 8, # 0 => onbeperkt, x <0 => nofork. fork_ttys => '', # gebruikt voor $ DB :: fork_TTY met perl debugger autoload => '', # kiezen tussen autoload en shell logdir => "$ Bin /../ var / log", # stderr , stdout bestanden rundir => "$ Bin /../ var / run", # jobstatus bestanden sched => ( 'bar') bim = {je code} # $ anon_sub -> ( 'BIM') bam = / path / to / schil # verbeteren ( '/ path / to / shell', 'BAM') deze = ./blah -a -b # systeem ( './blah -a -b', 'die') # voorbeeld het hergebruik van een alias: zip a # MaxJobs bestanden in parallel /tmp/bakcup/bigdump.aa = squish /tmp/bakcup/bigdump.ab = squish /tmp/bakcup/bigdump.ac = squish /tmp/bakcup/bigdump.ad. = squish /tmp/bakcup/bigdump.ae = squish /tmp/bakcup/bigdump.af = squish / tm p / bakcup / bigdump.aa: /tmp/bakcup/bigdump.ab: /tmp/bakcup/bigdump.ac: /tmp/bakcup/bigdump.ad: /tmp/bakcup/bigdump.ae: / tmp / bakcup / bigdump .af: # groepen zijn sub-schema's die hun # eigen namespace voor banen hebben, zijn volledig # skpped op restart als de groep met succes is voltooid, # en kunnen hun eigen kenmerken in te stellen. pass2 # throttle zware werk. pass2 # al deze kan worden uitgevoerd in pass2 # parallel, geen kwaad splitsen ze pass2 # lokaal gedefinieerde aliassen: dit zijn pass2 # * niet * hetzelfde als de banen boven. pass2 # attributen kan worden ingesteld, van toepassing op alle geneste # niveaus. behulpzaam binnen groepen. # # Bijvoorbeeld, pak de inhoud van sommige # bestanden, verwerken ze en opruimen de # resultaten. elke groep gebruikt zijn eigen alias # om de bestanden te verwerken. maxjob% 0 # onbeperkt vorken na # two-way alleen voor na groep voorafgaande # default alias binnen de groep na tijdens voordat # $ mgr-> extract ( 'file1') vóór # $ mgr-> extract ( 'file2') tijdens # $ mgr-> proces ( 'file1') tijdens # $ mgr -> proces ( 'file2') na # $ mgr-> cleanup ( 'file1') na # $ mgr-> cleanup ( 'bestand2') # assign job-specifieke attributen - voornamelijk aan controle # breedsprakigheid of vlag banen als het installeren van ad-hoc schema. Deze ~ ad_hoc # default voor alle attributen is 1 dit ~ verbose 0 # of voeg uw eigen waarde die ~ breedsprakig 2 # zoals je misschien al door had, tekst na # een-un ontsnapte hekje wordt behandeld als een comment.END) ; mijn $ resultaat = eval {$ manager-> bereiden (@argz); # Parase, valideert de wachtrij. $ Manager-> validate; # Cheque van impasses $ manager-> uit te voeren; # Doen de daad "The End"} of sterven $ @; of gewoon: $ manager-> bereiden (@argz) -> validate-> uit te voeren; # Als u een nieuw object van een # nieuwe afleiden en gebruik deze om de que te voeren of toe te voegen # ad_hoc banen (bijv., In de fabriek klasse), dan kunt # moet de rij voor het nieuwe object te delen. sub derive_new_object {mijn $ mgr = shift; mijn $ afgeleid = $ mgr-> new (@_); $ Mgr-> share_queue ($ afgeleid); $ Afgeleid} # op dit punt de afgeleide object toepassingen # dezelfde rij als de oorspronkelijke $ manager # (niet een kloon, dezelfde). het uitvoeren van # met $ afgeleid zal hetzelfde effect hebben # in de wachtrij als $ manager. $ Derived-> uit te voeren; Vereisten: · Perl


Parallel :: afhankelijk Gerelateerde software