sentra 0.1.3 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f86fdf12b096c0305ec905b4870042fdd5ca8f2
4
- data.tar.gz: d99fc37e1be1d7d9b24a460fb7c86924a3efd235
3
+ metadata.gz: 03bd62dfaa1b99334cb24f70268ff008e7b75105
4
+ data.tar.gz: 0151facbc528f27196a4e53242c81838a8382696
5
5
  SHA512:
6
- metadata.gz: 36d89598b99e67c9f461ea3265952fc19b6cc2dbe8eeef6e3443fb399ab96502b7b1cb790cf764b02c8ccf761e003ab26d70890a63ebd423cead7513d4d0baea
7
- data.tar.gz: cf7b553f1be3554e5eeb08d89e45ad2c6578d454b960e419811b87161b5d164e8d4c42d6b4aee2e074628a6db5962b1ad89f116d9126e1dad621b58b440fdae7
6
+ metadata.gz: c51381d084bcc6909964d37e6d3f755a3c438699f75c4bbbd0887f46b771daf41f093a8fff5c14414e05293d8713dee1e15df192d05d9f12247e335efaa92ef8
7
+ data.tar.gz: 67db4c28ceb97d91e3a20dd4d2b7c0753292df306cf8f2a827d9ef6a36d8a018ec11c507dcc3fa6dffbbb128363ab16f97d155cdd83adbd046c4757858ce2e99
@@ -0,0 +1,37 @@
1
+ module Sentra
2
+ class ProcessingClient
3
+ def initialize
4
+ @tweet = OprData::Article.new
5
+
6
+ p "initializing"
7
+ end
8
+ def prepare_article content, url, title,domain='GENERAL'
9
+ calendar = Util::Calendar.getInstance();
10
+ @tweet.setUrl(Net::URL.new(url));
11
+ @tweet.setDate(calendar.getTime)
12
+ @tweet.setTitle(title)
13
+ @tweet.setChannel(domain)
14
+ @tweet.setContent(content)
15
+ end
16
+ def send
17
+
18
+ p 'sending'
19
+ queue = SemanticService::UnixSocketClient.new()
20
+ queue.writeArticle(@tweet)
21
+ p 'receiving'
22
+ result = queue.readArticle()
23
+ p 'read done'
24
+ result.getMetadata('twitter').getFacts()
25
+
26
+ end
27
+
28
+ def process_result statistics
29
+ response = {}
30
+ response['negative'] = statistics[0].getValue.to_f / statistics[3].getValue.to_f
31
+ response['positive'] = statistics[1].getValue.to_f / statistics[3].getValue.to_f
32
+ response['neutral'] = statistics[2].getValue.to_f / statistics[3].getValue.to_f
33
+ response['details'] = {}
34
+ response
35
+ end
36
+ end
37
+ end
@@ -1,3 +1,3 @@
1
1
  module Sentra
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
data/lib/sentra.rb CHANGED
@@ -5,6 +5,8 @@ require 'trinidad'
5
5
  require 'json'
6
6
  require 'sentra/opr'
7
7
  require 'sentra/rest_client'
8
+ require "sentra/sents"
9
+
8
10
 
9
11
  module Sentra
10
12
  # Your code goes here...
@@ -27,40 +29,40 @@ module Sentra
27
29
 
28
30
 
29
31
  post '/sentra/analyzer/atomic' do
30
- if params['key'] and params['key'] =="QD3F7Yr2u098RfaB"
31
- query = request.body.read.to_s
32
- query = JSON.parse(query)
33
-
34
- p query['id']
35
-
36
- article = OprData::Article.new;
37
- calendar = Util::Calendar.getInstance();
38
- article.setUrl(Net::URL.new("file://All_losses.csv#1118"));
39
- article.setDate(calendar.getTime)
40
- article.setTitle("Ref #1117")
41
- article.setChannel('GENERAL')
42
- article.setContent(query['content'])
43
- serializer = ArticleTools::ArticleSerializer.new
44
- # article = serializer.read_from_xml_string(params[:query])
45
- queue = SemanticService::UnixSocketClient.new()
46
- queue.writeArticle(article)
47
- result = queue.readArticle()
48
-
49
-
50
- statistics = result.getMetadata('twitter').getFacts()
51
-
52
- response = {}
53
- response['negative'] = statistics[0].getValue.to_f / statistics[3].getValue.to_f
54
- response['positive'] = statistics[1].getValue.to_f / statistics[3].getValue.to_f
55
- response['neutral'] = statistics[2].getValue.to_f / statistics[3].getValue.to_f
56
- response['details'] = {}
32
+ query = request.body.read.to_s
33
+ query = JSON.parse(query)
34
+ if params['key'] and params['key'] =="QD3F7Yr2u098RfaB" and query['content']
35
+ p 'new'
36
+ processing_client = Sentra::ProcessingClient.new
37
+ processing_client.prepare_article query['content'], "http://zoral.com.ua", "Test1"
38
+ response = processing_client.send
39
+ processing_client.process_result(response).to_json
40
+
41
+ elsif params['key'] and params['key'] =="QD3F7Yr2u098RfaB" and not query['content']
42
+ return "There is no text to process"
43
+ else
44
+ return "Not authorized"
45
+ end
46
+ end
57
47
 
58
48
 
59
- return response.to_json
49
+ post '/sentra/analyzer/batch' do
50
+ query = request.body.read.to_s
51
+ query = JSON.parse(query)
52
+ if params['key'] and params['key'] =="QD3F7Yr2u098RfaB" and query['tweets']
53
+ responses = []
54
+ processing_client = Sentra::ProcessingClient.new
55
+ query['tweets'].each_with_index do |tweet, index|
56
+ processing_client.prepare_article tweet['content'], "http://zoral.com.ua/" + index.to_s, "Test" + index.to_s
57
+ response = processing_client.send
58
+ responses.push(processing_client.process_result(response))
59
+ end
60
+ responses.to_json
61
+ elsif params['key'] and params['key'] =="QD3F7Yr2u098RfaB" and not query['content']
62
+ return "There is no text to process"
60
63
  else
61
64
  return "Not authorized"
62
65
  end
63
-
64
66
  end
65
67
 
66
68
 
@@ -0,0 +1,64 @@
1
+ java_import 'java.util.concurrent.Callable'
2
+ java_import 'java.util.concurrent.FutureTask'
3
+ java_import 'java.util.concurrent.LinkedBlockingQueue'
4
+ java_import 'java.util.concurrent.ThreadPoolExecutor'
5
+ java_import 'java.util.concurrent.TimeUnit'
6
+
7
+ require 'sentra/rest_client'
8
+ require "sentra/sents"
9
+
10
+
11
+ num_threads = 2
12
+ host = '5.9.118.83'
13
+ namespace = 'consolidation'
14
+
15
+ tasks = []
16
+
17
+ contents = ["Never try.", "It goes down the drain", "The service was good, but coffee was bad", "Sony Inc is a good company"]
18
+
19
+
20
+
21
+ class CheckLoad
22
+ def initialize id, contents
23
+ @id=id
24
+ @contents = contents
25
+ end
26
+ def call
27
+ puts 'Started Thread Number' + @id.to_s
28
+ q = {}
29
+ q['content'] = @contents[@id]
30
+ puts "Ready to send content = " + q['content']
31
+
32
+ url = "http://localhost:4567/sentra/analyzer/atomic?key=QD3F7Yr2u098RfaB"
33
+ response = RestClient2.post(url, q.to_json)
34
+
35
+ json = JSON.parse(response.body)
36
+ puts "Received response by Thread Number " + @id.to_s
37
+ p json
38
+ end
39
+ end
40
+
41
+
42
+ executor = ThreadPoolExecutor.new(8, # core_pool_treads
43
+ 8, # max_pool_threads
44
+ 60, # keep_alive_time
45
+ TimeUnit::SECONDS,
46
+ LinkedBlockingQueue.new)
47
+
48
+
49
+
50
+
51
+ num_threads.times do |i|
52
+ crawler = CheckLoad.new(i,contents) do |selff|
53
+
54
+ end
55
+ task = FutureTask.new(crawler)
56
+ executor.execute(task)
57
+ tasks << task
58
+ end
59
+
60
+ tasks.each do |t|
61
+ t.get
62
+ end
63
+
64
+ executor.shutdown()
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kshakirov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-04-09 00:00:00.000000000 Z
11
+ date: 2015-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -143,8 +143,10 @@ files:
143
143
  - lib/sentra.rb
144
144
  - lib/sentra/opr.rb
145
145
  - lib/sentra/rest_client.rb
146
+ - lib/sentra/sents.rb
146
147
  - lib/sentra/version.rb
147
148
  - sentra.gemspec
149
+ - tools/multithread_check.rb
148
150
  - tools/remote_check.rb
149
151
  homepage: https://rubygems.org
150
152
  licenses: