Class: Sqskiq::Fetcher
- Inherits:
-
Object
show all
- Includes:
- Celluloid, Celluloid::Notifications, AWS
- Defined in:
- lib/sqskiq/fetch.rb
Instance Method Summary
collapse
Methods included from AWS
#delete_sqs_messages, #fetch_sqs_messages, #init_queue
Constructor Details
#initialize(aws_access_key_id, aws_secret_access_key, queue_name) ⇒ Fetcher
Returns a new instance of Fetcher.
11
12
13
14
15
16
|
# File 'lib/sqskiq/fetch.rb', line 11
def initialize(aws_access_key_id, aws_secret_access_key, queue_name)
init_queue(aws_access_key_id, aws_secret_access_key, queue_name)
subscribe_interrupt
@manager = Celluloid::Actor[:manager]
end
|
Instance Method Details
#fetch ⇒ Object
18
19
20
21
|
# File 'lib/sqskiq/fetch.rb', line 18
def fetch
messages = fetch_sqs_messages
@manager.async.fetch_done(messages)
end
|
#interrupt(signal) ⇒ Object
29
30
31
|
# File 'lib/sqskiq/fetch.rb', line 29
def interrupt(signal)
self.terminate
end
|
#subscribe_interrupt ⇒ Object
23
24
25
26
27
|
# File 'lib/sqskiq/fetch.rb', line 23
def subscribe_interrupt
subscribe('SIGINT', :interrupt)
subscribe('SIGTERM', :interrupt)
subscribe('TERM', :interrupt)
end
|