Skip to content
g9yuayon edited this page Dec 9, 2013 · 3 revisions

Notice is is sent and received by Suro sinks. For example, LocalFileSink can notify S3FileSink about its file rotation, and S3FileSink can get notice from LocalFileSink and start uploading files accordingly. After uploading is finished, S3FileSink can send corresponding notice to the next receiver. Notice interface can be created in its JSON configuration with the type property. Notice interface sends String messages with send() method and receives String messages with recv() method.

NoNotice: "type":"no"

An no-op. Its recv() method will return null if called.

QueueNotice: "type":"queue"

It uses a Java BlockingQueue internally. The send() method offers messages into the queue and recv() method polls from the queue. Its properties are the following:

Key Description type Default value
length capacity of of the queue int 100
recvTimeout timeout value in milliseconds on polling the queue int 1000

SQSNotice: "type":"sqs"

It sends messages to AWS SQS. Its properties are the following:

Key Description type Default value
queues the list of SQS queue names List
region AWS region where SQS queues are String
connectionTimeout SQS API client configuration connection timeout in milliseconds long 50000
maxConnections SQS API client configuration the number of connections int 50
socketTimeout SQS API client configuration socket timeout in milliseconds long 50000
maxErrorRetry SQS API client configuration the maximum number of retries int 3
Clone this wiki locally