This repository has been archived by the owner on May 22, 2019. It is now read-only.
/
test.scala
84 lines (70 loc) · 1.72 KB
/
test.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import com.twitter.gizzard.config._
import com.twitter.querulous.config._
import com.twitter.querulous.evaluator.QueryEvaluatorFactory
import com.twitter.conversions.time._
object Priority extends Enumeration {
val High, Medium, Low = Value
}
trait Credentials extends Connection {
val username = "root"
val password = ""
}
object GizzardMemoization {
var nsQueryEvaluator: QueryEvaluatorFactory = null
}
object TestQueryEvaluator extends QueryEvaluator {
override def apply() = {
if (GizzardMemoization.nsQueryEvaluator == null) {
GizzardMemoization.nsQueryEvaluator = super.apply()
}
GizzardMemoization.nsQueryEvaluator
}
}
class TestScheduler(val name: String) extends Scheduler {
val schedulerType = new KestrelScheduler {
path = "/tmp"
keepJournal = false
}
errorLimit = 25
badJobQueue = new JsonJobLogger { name = "bad_jobs" }
}
new GizzardServer {
val nameServer = new NameServer {
jobRelay.priority = Priority.High.id
val replicas = Seq(new Mysql {
val connection = new Connection with Credentials {
val hostnames = Seq("localhost")
val database = "gizzard_test"
}
})
}
val jobQueues = Map(
Priority.High.id -> new TestScheduler("high"),
Priority.Medium.id -> new TestScheduler("medium"),
Priority.Low.id -> new TestScheduler("low")
)
logging = new LogConfigString("""
level = "error"
throttle_period_msec = 60000
truncate_stack_traces = 0
throttle_rate = 10
roll = "never"
exception {
roll = "never"
format = "exception_json"
}
w3c {
node = "w3c"
use_parents = false
level = "debug"
roll = "never"
format = "bare"
}
bad_jobs {
node = "bad_jobs"
use_parents = false
level = "info"
roll = "never"
}
""")
}