Dati :: Throttler.

Throughput dei dati limite
Scarica ora

Dati :: Throttler. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Perl Artistic License
  • Prezzo:
  • FREE
  • Nome editore:
  • Michael Schilli
  • Sito web dell'editore:
  • http://search.cpan.org/~mschilli/

Dati :: Throttler. Tag


Dati :: Throttler. Descrizione

Limitare il throughput dei dati DATA :: Throttler è un modulo Perl che aiuta a risolvere attività di blocco come "Consenti un singolo IP solo di inviare 100 e-mail all'ora". Fornisce un archivio dati opzionalmente persistento per tenere traccia di ciò che è accaduto prima e offre una semplice interfaccia Sì / NO su un'applicazione, che può quindi concentrarsi sull'esecuzione dell'attività effettiva (come l'invio di e-mail) o la soppressione / posticipare. Quando si definisce un throttler. , puoi dirlo per mantenere le sue strutture interne dei dati in memoria: # Throttler in-Memory My $ Throftler = Dati :: Throttler-> Nuovo (max_items => 100, intervallo => 3600,); Tuttavia, se le strutture dati hanno bisogno Per essere mantenuto attraverso le diverse invocazioni di uno script o diverse istanze di script utilizzando il Throttler, è necessario utilizzare un database persistente: # Throttler persistent My $ Throttler = Dati :: Throttler-> NUOVO (MAX_ITEMS => 100, Intervallo => 3600, backend => "yaml", backend_options => {db_file => "/tmp/mythrottle.yml",},); la chiamata sopra riporta un deposito di backend esistente, dato che i max_items e le impostazioni dell'intervallo sono compatibili e lasciano memorizzato Catena da banco con tana contenuta in tal caso intatta. Per specificare che il negozio di back-end deve essere ricostruito e tutti i contatori vengono ripristinati, utilizzare il reset => 1 Opzione dei dati :: Throttler Object Constructor.in Il caso più semplice, i dati :: Throttler mantiene la traccia dei singoli eventi. Permette un certo numero di eventi per tempo per avere successo e consiglia di bloccare il resto: se ($ Throttler-> try_push ()) {stampa "L'elemento può essere spinto ";} else {stampa" L'articolo deve aspettare " può essere spinto ";} else {stampa" L'articolo deve aspettare ";} In questo caso, ogni tasto verrà monitorato separatamente, anche se il contingente per una chiave è al massimo, altri tasti riusciranno ancora fino a quando la loro quota non verrà raggiunta.Synopsis Utilizzare i dati :: Throttler; ### Semplice: Limite throughput a 100 all'ora My $ Throftler = Dati :: Throttler-> Nuovo (max_items => 100, intervallo => 3600,); se ($ Throttler-> try_push ()) {stampa "L'elemento può essere spinto ";} else {stampa" L'articolo deve aspettare ";} ### Avanzato: utilizzare un archivio dati persistenti e acceleratore per chiave: My $ Throttler = Dati :: Throttler-> Nuovo (max_items => 100, intervallo => 3600, backend =>" yaml ", backend_options => {db_file => "/tmp/mythrottle.yml",},); se ($ Throttler-> try_push (key => "somey")) {stampa "L'elemento può essere spinto "; } Requisiti: · Perl.


Dati :: Throttler. Software correlato