webload-client 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/webload/client.rb +11 -2
- data/lib/webload/client/cli.rb +5 -0
- data/lib/webload/client/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4230895ba9cdcdd37b93df267eef8a370dae26dc9db6c2544e598efffd56190
|
4
|
+
data.tar.gz: 0dbb4ab016509506bc1a6210afd6dbd79e4cf62d89cfe3676a0133beee628822
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2808a6e2ffc1a624d985ea840f8ae713f5952ec1091f33aeb5ff657fc8a276fff38c60a1a327dfd0033b1e059533bb0af153c7d211860002c15760e599f6e0f3
|
7
|
+
data.tar.gz: a5a037d273115b4686fd654ee864dd095c4ff95024999da784f27d9ff0b82b1a49ffad1753b4ea4281d384a17ac52673b2008c44187148460b2a231b43ce20d3
|
data/Gemfile.lock
CHANGED
data/lib/webload/client.rb
CHANGED
@@ -28,6 +28,12 @@ module Webload
|
|
28
28
|
next if method.nil?
|
29
29
|
next if $options.ignore && uri.match(/#{$options.ignore}/)
|
30
30
|
|
31
|
+
# rate is 60 / requests per minute divided by
|
32
|
+
# interval is the difference between Time.now - time (Time.now at some time)
|
33
|
+
# Rate 0 is send all messages
|
34
|
+
# 60 RPM => rate = 1, so only after interval (time elapsed) is greater than rate
|
35
|
+
# send the request and reset time. So only after the interval is greater than 1 second
|
36
|
+
# 120 RPM => rate = 0.5, so only after 0.5 seconds passed, send the request.
|
31
37
|
if interval > rate
|
32
38
|
time = Time.now
|
33
39
|
request = URI.join($options.url, uri)
|
@@ -44,8 +50,11 @@ module Webload
|
|
44
50
|
|
45
51
|
$logger.debug('New message: ' + message)
|
46
52
|
|
47
|
-
|
48
|
-
|
53
|
+
$options.multiply_by.times.each_with_index do |index|
|
54
|
+
entries << {id: entries.size.to_s, message_body: message}
|
55
|
+
end
|
56
|
+
|
57
|
+
if entries.size == ($options.batch * $options.multiply_by)
|
49
58
|
$client.send_message_batch(queue_url: $queue, entries: entries)
|
50
59
|
$logger.debug('Batch messages sent to SQS')
|
51
60
|
entries = []
|
data/lib/webload/client/cli.rb
CHANGED
@@ -33,6 +33,10 @@ module Webload
|
|
33
33
|
options.ignore = v
|
34
34
|
end
|
35
35
|
|
36
|
+
opts.on("-m", "--multiply-by NUM", "Multiply the number of requests by a factor of") do |v|
|
37
|
+
options.multiply_by = v.to_i
|
38
|
+
end
|
39
|
+
|
36
40
|
opts.separator ""
|
37
41
|
|
38
42
|
opts.on_tail("-v", "--verbose", "Run verbosely") do |v|
|
@@ -48,6 +52,7 @@ module Webload
|
|
48
52
|
# Default values
|
49
53
|
options.rpm ||= 0
|
50
54
|
options.batch ||= 1
|
55
|
+
options.multiply_by ||= 1
|
51
56
|
|
52
57
|
# Parse and return options
|
53
58
|
parser.parse!(args)
|