Sha256: 832bb33f9b8ad642c1f08ba82aa436d9aba4e69c9095010006acb262c19f029d
Contents?: true
Size: 842 Bytes
Versions: 1
Compression:
Stored size: 842 Bytes
Contents
# $LOAD_PATH << File.dirname(__FILE__) +'/../lib' require 'rubygems' require 'glutton_ratelimit' puts "Maximum of 12 executions every 5 seconds (Bursty):" rl = GluttonRatelimit::BurstyTokenBucket.new 12, 5 start = Time.now n = 0 rl.times(25) do puts "#{n += 1} - #{Time.now - start}" # Simulating a constant-time task: sleep 0.1 end # The 25th execution should occur after 10 seconds has elapsed. puts "Maximum of 3 executions every 3 seconds (Averaged):" rl = GluttonRatelimit::AveragedThrottle.new 3, 3 # AverageThrottle will attempt to evenly space executions within the allowed period. start = Time.now n = 0 rl.times(7) do puts "#{n += 1} - #{Time.now - start}" # Simulating a 0 to 1 second random-time task: sleep rand end # The 7th execution should occur after 6 seconds has elapsed.
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
glutton_ratelimit-0.2.0 | examples/simple_manual.rb |