NAME
Data::Throttler_CHI - Data::Throttler-like throttler with CHI backend
VERSION
This document describes version 0.003 of Data::Throttler_CHI (from Perl distribution Data-Throttler_CHI), released on 2020-02-19.
SYNOPSIS
use Data::Throttler_CHI;
use CHI;
my $throttler = Data::Throttler_CHI->new(
max_items => 100,
interval => 3600,
cache => CHI->new(driver=>"Memory", datastore=>{}),
#nof_buckets => 100, # optional, default: int(sqrt(interval))
);
if ($throttle->try_push) {
print "Item can be pushed\n";
} else {
print "Item must wait\n";
}
DESCRIPTION
EXPERIMENTAL, PROOF OF CONCEPT.
This module tries to use CHI as the backend for data throttling. It presents an interface similar to, but simpler than, Data::Throttler.
METHODS
new
Usage:
my $throttler = Data::Throttler_CHI->new(%args);
Known arguments (*
means required):
max_items*
interval*
cache*
CHI instance.
nof_buckets
Optional. Int. Number of buckets. By default calculated using: int(sqrt(interval)).
try_push
Usage:
$bool = $throttler->try_push(%args);
Return 1 if data can be pushed, or 0 if it must wait.
Known arguments:
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Data-Throttler_CHI.
SOURCE
Source repository is at https://github.com/perlancar/perl-Data-Throttler_CHI.
BUGS
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Throttler_CHI
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
SEE ALSO
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020 by perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.