pampa_workers 1.1.1 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mybotprocess.rb +35 -1
  3. data/lib/worker.rb +14 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 69e059adc568b1a74eddf7929d917d867965392c
4
- data.tar.gz: 100540adc7fb2e14451c199beb03238275c93da4
3
+ metadata.gz: ea7a798bc3f03abdb8eb364bc07244f71a9fca3a
4
+ data.tar.gz: 48785340917afd5e32d8156b42f7c6d2bcbcd612
5
5
  SHA512:
6
- metadata.gz: 37e419cb21a3557761e6a088db8bcad6d49ce918d02aeb32a7070faf99d371b70a0dc13eb41aa773e189eb4be67f7aa22647501dabf61723f28c67c142fd6583
7
- data.tar.gz: 7b00e1be1126b4f8ca316488bfa0ac2f79d6080c90210f45275d5c8f60217d71c3d44826fdedce0d202f17fc17a4815d8bc3fe852630ae283694ebd5ae0bae06
6
+ metadata.gz: 07a4ae4c26674afb0e6d6ddc2f2f1c6622a4ef3e30fcef8c705f4297ed722e8b0186c30986a5c8f3e632159df99fa830f4e3fc9e23e8aadd164d6c44b9605292
7
+ data.tar.gz: a1cd15fb0e37875cef2969d8bad8ff21d5b0ce2d5f0197cd4cc6b4deb0e17543f579f33a1068c367cdf5860d19612f9bb30f8f0e3ae3843dafbcd06c85b936ed
@@ -101,7 +101,39 @@ module BlackStack
101
101
 
102
102
  return lnuser
103
103
  end # getLnUser()
104
+
105
+ #
106
+ def notifyInbox(lnuser, conv)
107
+ conv[:chats].each { |chat|
108
+ # armo URL de notificacion
109
+ # se usa URI.encode para codificar caracteres no-ascii en los mensajes
110
+ url =
111
+ "#{BlackStack::Pampa::api_protocol}://#{self.ws_url}:#{self.ws_port}/api1.3/pampa/scrape.inbox/notify_lnchat.json?" +
112
+ "api_key=#{BlackStack::Pampa::api_key}&" +
113
+ "profile_code=#{URI.escape(conv[:profile_code])}&" +
114
+ "profile_name=#{URI.escape(conv[:profile_name])}&" +
115
+ "profile_headline=#{URI.escape(conv[:profile_headline])}&" +
116
+ "first=#{URI.escape(conv[:first])}&" +
117
+ "position=#{chat[:position].to_s}&" +
118
+ "uid=#{lnuser['id']}&" +
119
+ "sender_name=#{URI.escape(chat[:sender_name])}&" +
120
+ "body=#{URI.escape(chat[:body])}&"
121
+ puts ""
122
+ puts "url:#{url}:."
123
+ puts ""
124
+ # HELP: File.open('./output3.txt', 'a') { |file| file.write(url + "\r\n") }
104
125
 
126
+ # push the chat
127
+ uri = URI.parse(url.to_s)
128
+ req = Net::HTTP::Get.new(uri.to_s)
129
+ res = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE) {|http|
130
+ http.request(req)
131
+ }
132
+ parsed = JSON.parse(res.body)
133
+ raise "error uploading chat: #{parsed['status']}" if parsed['status'] != 'success'
134
+ } # conv[:chats].each
135
+ end
136
+
105
137
  #
106
138
  def notifyLnUserUrl(id_lnuser, profile_url)
107
139
  nTries = 0
@@ -304,8 +336,9 @@ module BlackStack
304
336
  return ret
305
337
  end # isLnUserAvailable
306
338
 
307
- #
339
+ # TODO: deprecated
308
340
  def releaseLnUser(id_lnuser, workflow_name='incrawl.lnsearchvariation')
341
+ =begin
309
342
  nTries = 0
310
343
  parsed = nil
311
344
  bSuccess = false
@@ -339,6 +372,7 @@ module BlackStack
339
372
  end
340
373
 
341
374
  return ret
375
+ =end
342
376
  end # isLnUserAvailable
343
377
 
344
378
  end # class MyBotProcess
@@ -37,6 +37,15 @@ module BlackStack
37
37
  # Note that the same worker may has been assigned to different clients withing the same timeframe.
38
38
  # This method will compute the seconds used by this client only, over the total timeframe.
39
39
  def self.client_usage_ratio(id_client, period='M', units=1)
40
+ #
41
+ row = DB[
42
+ "select count(*) as total_workers " +
43
+ "from worker w with (nolock) " +
44
+ "where w.id_client = '#{id_client}' "
45
+ ].first
46
+ t = row[:total_workers].to_f
47
+
48
+ #
40
49
  row = DB[
41
50
  "select datediff(ss, dateadd(#{period}#{period}, -#{units.to_s}, getdate()), getdate()) as total_seconds, isnull(sum(datediff(ss, j.job_start_time, j.job_end_time)), 0) as used_seconds " +
42
51
  "from workerjob j with (nolock) " +
@@ -45,9 +54,11 @@ module BlackStack
45
54
  "and j.job_start_time is not null " +
46
55
  "and j.job_end_time is not null "
47
56
  ].first
57
+
58
+ #
48
59
  x = row[:used_seconds].to_f
49
60
  y = row[:total_seconds].to_f
50
- 100.to_f * x / y
61
+ 100.to_f * ( x / t ) / y
51
62
  end
52
63
 
53
64
  # Usage ratio this worker by this client.
@@ -98,6 +109,7 @@ module BlackStack
98
109
  w.id_client = h['id_client']
99
110
  w.id_division = h['id_division']
100
111
  w.division_name = h['division_name']
112
+ w.public_ip_address = h['public_ip_address']
101
113
  w.save
102
114
  end
103
115
 
@@ -112,6 +124,7 @@ module BlackStack
112
124
  h['id_client'] = self.id_client
113
125
  h['id_division'] = self.id_division
114
126
  h['division_name'] = self.division_name
127
+ h['public_ip_address'] = self.public_ip_address
115
128
  h
116
129
  end
117
130
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pampa_workers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Daniel Sardi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-02 00:00:00.000000000 Z
11
+ date: 2020-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: websocket