ahisazurequeue 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/ahis_azure_queue.rb +73 -0
- metadata +44 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f472278c57f365ced22510a8c21385334975d62b
|
4
|
+
data.tar.gz: ae29318ea1a96905b7576767c95535e6adc02882
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b1febf9d2b1ce7cc176300353bbdd8a7827406aff866fc89c192bb8bc6bade2c0b0ed0e30d8b6a422419489f8cdeed9db66c9bf2bc0fd94bd5d00238603084f2
|
7
|
+
data.tar.gz: dcde6487bdb8e1f16b9f9fca988f36304b212e90a20c7dd1be8a5f44d0bfbb7b24bb3d975ed35213177bac58b2f2e1d794fb103d203228f3edbc8d0e31ddb739
|
@@ -0,0 +1,73 @@
|
|
1
|
+
#This is for building the AhisAzureQueue using Azure Storage Queue
|
2
|
+
|
3
|
+
require "azure"
|
4
|
+
|
5
|
+
class AhisAzureQueue
|
6
|
+
##azure_queue_service class instace for accessing through out the class
|
7
|
+
@@azure_queue_service
|
8
|
+
|
9
|
+
##Initialize of azure Queue Service
|
10
|
+
def initialize
|
11
|
+
@@azure_queue_service = Azure::QueueService.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.create
|
15
|
+
AhisAzureQueue.new
|
16
|
+
end
|
17
|
+
|
18
|
+
##For deleting queue from Azure Storage
|
19
|
+
def self.delete_queue(queue_name)
|
20
|
+
@@azure_queue_service.delete_queue(queue_name)
|
21
|
+
end
|
22
|
+
|
23
|
+
##For creating queue if not already exists from Azure Storage
|
24
|
+
def self.create_a_queue(queue_name)
|
25
|
+
|
26
|
+
queues_to_be_created = Array.new
|
27
|
+
existing_queues = @@azure_queue_service.list_queues()
|
28
|
+
|
29
|
+
existing_queues.each do |q|
|
30
|
+
queues_to_be_created << q.name
|
31
|
+
end
|
32
|
+
|
33
|
+
if queues_to_be_created.include? queue_name
|
34
|
+
#no need to execute
|
35
|
+
else
|
36
|
+
#else create a new queue
|
37
|
+
@@azure_queue_service.create_queue(queue_name)
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
##this method will send instrution to the Azure Queue
|
43
|
+
def self.send_instruction(queue_name,instruct)
|
44
|
+
@@azure_queue_service.create_message(queue_name, instruct)
|
45
|
+
end
|
46
|
+
|
47
|
+
##this method will read instrution to the Azure Queue
|
48
|
+
def self.read_instruction(queue_name)
|
49
|
+
instruction_array=[]
|
50
|
+
message_count, metadata = @@azure_queue_service.get_queue_metadata(queue_name)
|
51
|
+
puts message_count
|
52
|
+
while message_count!=0 do
|
53
|
+
messages = @@azure_queue_service.list_messages(queue_name,30)
|
54
|
+
messages.each do |m|
|
55
|
+
puts m.message_text
|
56
|
+
instruction_array<<m.message_text
|
57
|
+
@@azure_queue_service.delete_message(queue_name,m.id, m.pop_receipt)
|
58
|
+
message_count=message_count-1
|
59
|
+
end
|
60
|
+
end
|
61
|
+
return instruction_array
|
62
|
+
end
|
63
|
+
|
64
|
+
##this method will configure Azure Storage Queue
|
65
|
+
def self.config_access_azure_storage(storage_account_name,storage_access_key)
|
66
|
+
Azure.config.storage_account_name = storage_account_name
|
67
|
+
Azure.config.storage_access_key = storage_access_key
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
end
|
metadata
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ahisazurequeue
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Rohan Kore
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-18 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: please visit www.rohanskore.in for more information
|
14
|
+
email: rohanskore@gmail.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/ahis_azure_queue.rb
|
20
|
+
homepage: http://rubygems.org/gems/ahisazurequeue
|
21
|
+
licenses: []
|
22
|
+
metadata: {}
|
23
|
+
post_install_message:
|
24
|
+
rdoc_options: []
|
25
|
+
require_paths:
|
26
|
+
- lib
|
27
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0'
|
32
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
requirements: []
|
38
|
+
rubyforge_project:
|
39
|
+
rubygems_version: 2.2.2
|
40
|
+
signing_key:
|
41
|
+
specification_version: 4
|
42
|
+
summary: AHIS is Autonaumous Home Intelligent System uses Azure Queue for the instruction
|
43
|
+
mapping from Cloud Server to Home Server
|
44
|
+
test_files: []
|