webload-client 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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)
|