Gegevens :: Throttlinder

Gegevensverdeling beperken
Download nu

Gegevens :: Throttlinder Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Michael Schilli
  • Uitgever website:
  • http://search.cpan.org/~mschilli/

Gegevens :: Throttlinder Tags


Gegevens :: Throttlinder Beschrijving

Gegevensovereenkomst beperken Gegevens :: Throttlinder is een Perl-module die helpt bij het oplossen van het oplossen van het oplossen van het oplossen van het oplossen van het oplossen van het oplossen van het oplossen van een IP-IP om 100 e-mails per uur te verzenden ". Het biedt een optioneel persistente data-winkel om bij te houden wat er eerder is gebeurd en een eenvoudige ja / nee-interface biedt aan een applicatie, die zich vervolgens kunt concentreren op het uitvoeren van de daadwerkelijke taak (zoals het verzenden van e-mailadres) of het onderdrukken van een throttlon , je kunt het vertellen om zijn interne gegevensstructuren in het geheugen te houden: # In-Memory Throttler My $ Throttler = Data :: Throttler-> Nieuwe (max_items => 100, interval => 3600,); Echter, als de gegevensstructuren nodig hebben Te onderhouden worden over verschillende inroepingen van een script of verschillende instanties van scripts met behulp van de Throttler, met behulp van een aanhoudende database is vereist: # Persistent Throttler My $ Throttller = Data :: Throttler-> Nieuwe (max_items => 100, interval => 3600, backend => "yaml", backend_options => {db_file => "/tmp/mythrottle.yml",},); de bovenstaande oproep zal een bestaande backend-winkel hergebruiken, aangezien de max_items en intervalinstellingen compatibel zijn en de opgeslagen zijn tegenbeukketting die daarin intact is. Om aan te geven dat de backend-winkel opnieuw moet worden opgebouwd en alle tellers worden gereset, gebruikt u de reset => 1 optie van de gegevens :: Throttlinder Object Constructor.in de eenvoudigste zaak, gegevens :: Throttlinder houdt gewoon enkele evenementen bij. Het maakt een bepaald aantal gebeurtenissen per time frame mogelijk om te slagen en het beveelt aan om de rest te blokkeren: als ($ Throttler-> Try_Push ()) {print "-artikel kan worden geduwd ";} else {print" item nodig om te wachten ";} Wanneer verschillende categorieën items, zoals pogingen om e-mails per IP-adres van de afzender te verzenden, kan een sleutel worden gebruikt: if ($ Throttler-> Try_Push (Key =>" 192.168.0.1 ")) {print" kan worden geduwd ";} else {print" item nodig om te wachten ";} In dit geval wordt elke toets afzonderlijk gevolgd, zelfs als het quotum voor één toets maximaal is, zullen andere toetsen nog steeds slagen totdat hun quotum is bereikt. Synopsis Gebruik gegevens :: Throttler; ### Simple: Beperking tot 100 per uur mijn $ Throttler = Gegevens :: Throttler-> NIEUW (MAX_ITEMS => 100, interval => 3600,); if ($ throttler-> try_push ()) {print "item kan worden ingedrukt ";} else {print" item nodig om te wachten ";} ### Advanced: gebruik een persistent gegevenswinkel en gashendel per sleutel: mijn $ Throttler = Data :: Throttler-> Nieuwe (max_items => 100, interval => 3600, backend =>" yaml ", backend_options => {db_file => "/tmp/mythrottle.yml",},); if ($ throttlor-> try_push (key => "somekey")) {print "item kan worden ingedrukt "; } Vereisten: · Perl


Gegevens :: Throttlinder Gerelateerde software