Daten :: Throttler

Datendurchsatz begrenzen
Jetzt downloaden

Daten :: Throttler Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Michael Schilli
  • Website des Verlags:
  • http://search.cpan.org/~mschilli/

Daten :: Throttler Stichworte


Daten :: Throttler Beschreibung

Datendurchsatz begrenzen Data :: Throttler ist ein Perl-Modul, mit dem die Drosselung von Tasks wie "Erlauben einer einzelnen IP nur zum Senden von 100 E-Mails pro Stunde" hilft. Es bietet einen optional persistenten Datenspeicher, um den Nachverfolgen zu verfolgen, was zuvor passiert ist, und bietet eine einfache Ja / Nein-Schnittstelle an eine Anwendung, die sich dann auf die tatsächliche Aufgabe konzentrieren kann (wie das Senden von E-Mails) oder unterdrücken / verschieben. Sie können es ihm mitteilen, ihre internen Datenstrukturen im Speicher zu halten: # In-Memory-Throttler My $ -Gasler = Daten :: Throttler-> Neu (max_items => 100, Intervall => 3600,); Wenn jedoch die Datenstrukturen benötigen Um auf unterschiedliche Aufrufe eines Skripts oder mehrerer Instanzen von Skripts mit dem Throttler aufrechtzuerhalten, ist die Verwendung einer persistenten Datenbank erforderlich: # Persistent-Throttler-My $ Throttler = Daten :: Throttler-> Neu (max_items => 100, Intervall => 3600, Backend => "yaml", backend_options => {db_file => "/tmp/mythrottle.yml",},); Der obige Anruf wird einen vorhandenen Backend-Speicher wiederverwenden, da die Max_Items und Intervalleinstellungen kompatibel sind und die gespeicherten Darin intakt enthaltene Gegenbuckkette. Um festzulegen, dass der Backend-Speicher wieder aufgebaut werden soll und alle Zähler zurückgesetzt werden sollen, verwenden Sie die Option RESET => 1 der Daten :: Throttler-Objektkonstruktor.In den einfachsten Fall, daten :: Throttler können einfach einzelne Ereignisse verfolgen. Es ermöglicht eine bestimmte Anzahl von Ereignissen pro Zeitrahmen, um erfolgreich zu sein, und es empfiehlt, den Rest zu blockieren: if ($ throttler-> try_push ()) {drucken "Artikel kann gedrückt werden ";} else {drucken" Artikel muss warten . kann gedrückt werden ";} else {drucken" Artikel muss warten ";} In diesem Fall wird jede Taste separat verfolgt, auch wenn das Quoten für einen Schlüssel maximiert ist, andere Tasten sind noch erfolgreich, bis ihre Quote erreicht ist. Synopsis verwenden Daten :: Throttler; ### Simple 100 pro Stunde My $ Throttler = Daten :: Throttler-> NEU (Max_Items => 100, Intervall => 3600,); if ($ throttler-> try_push ()) {drucken "Artikel kann gedrückt werden ";} else {drucken" Artikel muss warten ";} ### Advanced: Verwenden Sie einen persistenten Datenspeicher und Drossel mit der Taste: My $ Throttler = Daten :: Throttler-> NEU (Max_Items => 100, Intervall => 3600, Backend =>" YAML ", Backend_Options => {db_file => "/tmp/mythrottle.yml",},); if ($ throttler-> try_push (Key => "Synkey")) {drucken "Artikel kann gedrückt werden "; } Anforderungen: · Perl.


Daten :: Throttler Zugehörige Software