github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/subscription_worker_options.go (about) 1 package ravendb 2 3 import "time" 4 5 // SubscriptionWorkerOptions describes options for subscription worker 6 type SubscriptionWorkerOptions struct { 7 SubscriptionName string `json:"SubscriptionName"` 8 TimeToWaitBeforeConnectionRetry Duration `json:"TimeToWaitBeforeConnectionRetry"` 9 IgnoreSubscriberErrors bool `json:"IgnoreSubscriberErrors"` 10 Strategy SubscriptionOpeningStrategy `json:"Strategy"` 11 MaxDocsPerBatch int `json:"MaxDocsPerBatch"` 12 MaxErroneousPeriod Duration `json:"MaxErroneousPeriod"` 13 CloseWhenNoDocsLeft bool `json:"CloseWhenNoDocsLeft"` 14 } 15 16 // NewSubscriptionWorkerOptions returns new SubscriptionWorkerOptions 17 func NewSubscriptionWorkerOptions(subscriptionName string) *SubscriptionWorkerOptions { 18 panicIf(subscriptionName == "", "SubscriptionName cannot be null or empty") 19 return &SubscriptionWorkerOptions{ 20 Strategy: SubscriptionOpeningStrategyOpenIfFree, 21 MaxDocsPerBatch: 4096, 22 TimeToWaitBeforeConnectionRetry: Duration(time.Second * 5), 23 MaxErroneousPeriod: Duration(time.Minute * 5), 24 SubscriptionName: subscriptionName, 25 } 26 }