-
Notifications
You must be signed in to change notification settings - Fork 9
/
defaults.clj
72 lines (63 loc) · 2.25 KB
/
defaults.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
(ns goose.defaults
"All default configurations for Goose are defined here."
(:require
[clojure.string :as str]))
(def worker-threads 5)
(def graceful-shutdown-sec 30)
(def content-type "ptaoussanis/nippy")
(def queue-prefix "goose/queue:")
(def in-progress-queue-prefix "goose/in-progress-jobs:")
(def process-prefix "goose/processes:")
(def heartbeat-prefix "goose/heartbeat:")
(def default-queue "default")
(def schedule-queue "scheduled-jobs")
(def dead-queue "dead-jobs")
(def cron-queue "cron-schedules")
(def cron-entries "cron-entries")
(def protected-queues [schedule-queue dead-queue cron-queue cron-entries])
(defn ^:no-doc prefix-queue
[queue]
(str queue-prefix queue))
(defn ^:no-doc affix-queue
[queue]
(-> queue
(str/split (re-pattern (str queue-prefix "*")))
(second)))
(def prefixed-schedule-queue (prefix-queue schedule-queue))
(def prefixed-retry-schedule-queue (prefix-queue schedule-queue))
(def prefixed-dead-queue (prefix-queue dead-queue))
(def prefixed-cron-queue (prefix-queue cron-queue))
(def prefixed-cron-entries (str "goose/" cron-entries))
;;; ======== Redis defaults ========
(def redis-internal-threads 4)
(def redis-default-url "redis://localhost:6379")
(def redis-long-polling-timeout-sec 1)
(def redis-scheduler-polling-interval-sec 5)
(def redis-scheduled-jobs-pop-limit 50)
(def redis-cron-names-pop-limit 50)
(def redis-heartbeat-sleep-sec 15)
(def redis-heartbeat-expire-sec 60)
(def redis-producer-pool-opts
{:max-total-per-key 5
:max-idle-per-key 5
:min-idle-per-key 1})
(defn redis-consumer-pool-opts
[threads]
{:max-total-per-key (+ redis-internal-threads threads)
:max-idle-per-key (+ redis-internal-threads threads)
:min-idle-per-key (inc redis-internal-threads)})
;;; ======== RabbitMQ defaults ========
(def rmq-default-url "amqp://guest:guest@localhost:5672")
(def rmq-producer-channels 5)
(def rmq-exchange "")
(def rmq-delay-exchange prefixed-schedule-queue)
(def rmq-delay-exchange-type "x-delayed-message")
(def rmq-low-priority 0)
(def rmq-high-priority 1)
(def rmq-prefetch-limit 1)
(def rmq-delay-limit-ms 4294967295) ; (2^32 - 1)
(def rmq-classic-queue "classic")
(def rmq-quorum-queue "quorum")
(def rmq-replication-factor 3)
(def sync-confirms "sync")
(def async-confirms "classic")