Skip to content

//misk-aws/misk.jobqueue.sqs

Package-level declarations

Types

Name Summary
AwsSqsJobHandlerModule [jvm]
class AwsSqsJobHandlerModule<T : JobHandler> : KAbstractModule
Install this module to register a handler for an SQS queue, and if specified, registers its corresponding retry queue.
AwsSqsJobQueueConfig [jvm]
class AwsSqsJobQueueConfig@JvmOverloadsconstructor(val external_queues: Map<String, AwsSqsQueueConfig> = mapOf(), message_batch_size: Int = 10, val task_queue: RepeatedTaskQueueConfig? = null, val queue_attribute_importer_frequency_ms: Long = 1000, val sqs_sending_socket_timeout_ms: Int = 5000, val sqs_sending_connect_timeout_ms: Int = 1000, val sqs_sending_request_timeout_ms: Int = 5000, val aws_sqs_job_receiver_policy: AwsSqsJobReceiverPolicy = AwsSqsJobReceiverPolicy.ONE_FLAG_ONLY, val safe_shutdown: Boolean = true) : Config
AwsSqsJobQueueConfig is the configuration for job queueing backed by Amazon’s Simple Queuing Service
AwsSqsJobQueueModule [jvm]
open class AwsSqsJobQueueModule(config: AwsSqsJobQueueConfig) : KAbstractModule
AwsSqsJobQueueModule installs job queue support provided by SQS.
AwsSqsJobReceiverPolicy [jvm]
enum AwsSqsJobReceiverPolicy : Enum<AwsSqsJobReceiverPolicy>
AWS SQS consumers are spun by each of a service’s pods. Each pod is responsible for running some number on consumers and making sure they are within the parameters of the feature-flags used.
AwsSqsQueueConfig [jvm]
data class AwsSqsQueueConfig@JvmOverloadsconstructor(val region: String? = null, val account_id: String? = null, val sqs_queue_name: String? = null)
An AwsSqsQueueConfig tells misk about a queue, potentially in another region and/or another account. If the queue is in another account, it will require an IAM policy enabling cross account access
DeadLetterQueueProvider [jvm]
interface DeadLetterQueueProvider
Interface for a provider of dead-letter queue names.
DefaultDeadLetterQueueProvider [jvm]
@Singleton
class DefaultDeadLetterQueueProvider@Injectconstructor : DeadLetterQueueProvider
Default provider of dead-letter QueueName. Returns the name of the main queue suffixed with "_dlq".
FlaggedBufferedSqsClient [jvm]
class FlaggedBufferedSqsClient(unbufferedSqs: AmazonSQS, bufferedSqs: AmazonSQS, appName: String, featureFlags: FeatureFlags) : AmazonSQS
Temporary shim for buffered and unbuffered AmazonSQS implementations, for feature-flagged rollout of buffered SQS operations across cash cloud apps.
SqsConsumerAllocator [jvm]
@Singleton
class SqsConsumerAllocator@Injectconstructor(leaseManager: LeaseManager, featureFlags: FeatureFlags)
Uses a LeaseManager and FeatureFlags to calculate the number of sqs consumers a pods should have. This computation is based off of the AwsSqsJobReceiverPolicy specification.
StaticDeadLetterQueueProvider [jvm]
class StaticDeadLetterQueueProvider(queue: String) : DeadLetterQueueProvider
Provider of dead-letter QueueName that always returns the same value, no matter the supplied queue.

Properties

Name Summary
isRetryQueue [jvm]
val QueueName.isRetryQueue: Boolean
parentQueue [jvm]
val QueueName.parentQueue: QueueName
retryQueue [jvm]
val QueueName.retryQueue: QueueName

Functions

Name Summary
withNoPrefetching [jvm]
fun QueueBufferConfig.withNoPrefetching(): QueueBufferConfig
Modify a QueueBufferConfig to disable all receive pre-fetching settings.