SUB :: Slice.

Split langlaufende Aufgaben in überschaubare Brocken
Jetzt downloaden

SUB :: Slice. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • BBC
  • Website des Verlags:
  • http://www.bbc.co.uk

SUB :: Slice. Stichworte


SUB :: Slice. Beschreibung

Split langlaufende Aufgaben in überschaubare Brocken SUB :: Slice ist ein Perl-Modul, das einen langen Prozess in kleinere Brocken aufbricht, das jeweils ein statelisches Protokoll wie HTTP / SOAP ausgeführt werden kann, so dass der Fortschritt gemeldet werden kann. Dies bedeutet, dass der Client den Fortschritt anzeigen oder den Operation teilnehmen kann. Das Token, das an den Client übergab, enthält Statusinformationen, die der Client verwenden kann, um zu ermitteln, ob der Job abgeschlossen / fehlgeschlagen ist und Status- / Fehlermeldungen angezeigt wird. Wenn die Routine, die bei jeder Iteration aufgerufen wurde, definiert, definiert der Server einen Satz von CodeRefs, von denen eines eingestellt ist wird für eine gegebene Iteration angerufen. Darüber hinaus kann der Server CODEREFS definieren, um zu Beginn und Ende des Jobs aufgerufen werden. Der Server kann dem Kunden eine Schätzung der Anzahl der Iterationen zur Verfügung stellen, die den Job wahrscheinlich annehmen wird Sehen Sie sich Methoden auf dem Server an :: Paket sind magisch abgemeldet, mein $ token = server :: create_token (); für (1 .. Max_iterations) {server :: do_work ($ token); Letzte, wenn $ token -> {fertig}; } # Server # Stellen Sie sich, dass dies auf einem Remote-Maschinenpaket-Server ist; Verwenden Sie SUB :: Slice; Sub Create_token {# Erstellen eines neuen Jobs: Mein $ Job = NEUE SUB :: Slice (Backend => 'FileSystem', Storage_Options => {path => '/ var / tmp / myProject /',}); Rückgabe $ Job-> Token; } SUB do_work {# Laden eines vorhandenen Jobs: Mein $ Job = NEUE SUB :: Slice (Token => $ Token Backend => 'FileSystem', storage_options => {path => '/ var / tmp / myProject /',} ); at_start $ Job Sub {$ Job-> Store ('Foo', '1'); $ Job-> Store ('BAR', {ABC => 'DEF'}); # Daten speichern, Initialisierung $ Job-> set_estimate (10); # Schätzen Sie die Anzahl der Schritte zurück ($ job-> fetch (foo ')); }; mein $ foo = $ job-> fetch ('foo'); at_stage $ Job "stage_one", sub {my $ bar = $ job-> fetch ('bar'); # do stuff $ job-> next_stage ('stage_two'), wenn $ legt_condition; }; at_stage $ Job "stage_two", sub {# ... tun mehr ); }; Rückgabe $ Job-> Return_Value (); #Passen Sie einen beliebigen Rückgabewert von CodeRepps} an: · Perl.


SUB :: Slice. Zugehörige Software