forked from twitter-archive/kestrel
/
development.scala
70 lines (61 loc) · 1.75 KB
/
development.scala
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
import com.twitter.conversions.storage._
import com.twitter.conversions.time._
import com.twitter.logging.config._
import com.twitter.ostrich.admin.config._
import net.lag.kestrel.config._
new KestrelConfig {
listenAddress = "0.0.0.0"
memcacheListenPort = 22133
textListenPort = 2222
queuePath = "/var/spool/kestrel"
clientTimeout = 30.seconds
expirationTimerFrequency = 1.second
maxOpenTransactions = 100
// default queue settings:
default.defaultJournalSize = 16.megabytes
default.maxMemorySize = 128.megabytes
default.maxJournalSize = 1.gigabyte
admin.httpPort = 2223
queues = new QueueBuilder {
// keep items for no longer than a half hour, and don't accept any more if
// the queue reaches 1.5M items.
name = "weather_updates"
maxAge = 1800.seconds
maxItems = 1500000
} :: new QueueBuilder {
// don't keep a journal file for this queue. when kestrel exits, any
// remaining contents will be lost.
name = "transient_events"
keepJournal = false
} :: new QueueBuilder {
name = "jobs_pending"
expireToQueue = "jobs_ready"
maxAge = 30.seconds
} :: new QueueBuilder {
name = "jobs_ready"
syncJournal = 0.seconds
} :: new QueueBuilder {
name = "spam"
} :: new QueueBuilder {
name = "spam0"
} :: new QueueBuilder {
name = "hello"
fanoutOnly = true
} :: new QueueBuilder {
name = "small"
maxSize = 128.megabytes
maxMemorySize = 16.megabytes
maxJournalSize = 128.megabytes
discardOldWhenFull = true
} :: new QueueBuilder {
name = "slow"
syncJournal = 10.milliseconds
}
loggers = new LoggerConfig {
level = Level.INFO
handlers = new FileHandlerConfig {
filename = "/var/log/kestrel/kestrel.log"
roll = Policy.Never
}
}
}