Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 2.16 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import com.twitter.conversions.storage._
  2. import com.twitter.conversions.time._
  3. import com.twitter.logging.config._
  4. import com.twitter.ostrich.admin.config._
  5. import net.lag.kestrel.config._
  6.  
  7. new KestrelConfig {
  8.   listenAddress = "0.0.0.0"
  9.   memcacheListenPort = 22133
  10.   textListenPort = 2222
  11.  
  12.   queuePath = "/var/spool/kestrel"
  13.  
  14.   clientTimeout = None
  15.  
  16.   expirationTimerFrequency = 1.second
  17.  
  18.   maxOpenTransactions = 100
  19.  
  20.   // default queue settings:
  21.   default.defaultJournalSize = 16.megabytes
  22.   default.maxMemorySize = 128.megabytes
  23.   default.maxJournalSize = 1.gigabyte
  24.   default.syncJournal = 20.milliseconds
  25.  
  26.   admin.httpPort = 2223
  27.  
  28.   admin.statsNodes = new StatsConfig {
  29.     reporters = new JsonStatsLoggerConfig {
  30.       loggerName = "stats"
  31.       serviceName = "kestrel"
  32.     } :: new TimeSeriesCollectorConfig
  33.   }
  34.  
  35.   queues = new QueueBuilder {
  36.     // keep items for no longer than a half hour, and don't accept any more if
  37.     // the queue reaches 1.5M items.
  38.     name = "weather_updates"
  39.     maxAge = 1800.seconds
  40.     maxItems = 1500000
  41.   } :: new QueueBuilder {
  42.     // don't keep a journal file for this queue. when kestrel exits, any
  43.     // remaining contents will be lost.
  44.     name = "transient_events"
  45.     keepJournal = false
  46.   } :: new QueueBuilder {
  47.     name = "jobs_pending"
  48.     expireToQueue = "jobs_ready"
  49.     maxAge = 30.seconds
  50.   } :: new QueueBuilder {
  51.     name = "jobs_ready"
  52.     syncJournal = 0.seconds
  53.   } :: new QueueBuilder {
  54.     name = "spam"
  55.   } :: new QueueBuilder {
  56.     name = "spam0"
  57.   } :: new QueueBuilder {
  58.     name = "hello"
  59.     fanoutOnly = true
  60.   } :: new QueueBuilder {
  61.     name = "small"
  62.     maxSize = 128.megabytes
  63.     maxMemorySize = 16.megabytes
  64.     maxJournalSize = 128.megabytes
  65.     discardOldWhenFull = true
  66.   }
  67.  
  68.   loggers = new LoggerConfig {
  69.     level = Level.INFO
  70.     handlers = new FileHandlerConfig {
  71.       filename = "/var/log/kestrel/kestrel.log"
  72.       roll = Policy.SigHup
  73.     }
  74.   } :: new LoggerConfig {
  75.     node = "stats"
  76.     level = Level.INFO
  77.     useParents = false
  78.     handlers = new ScribeHandlerConfig {
  79.       hostname = "localhost"
  80.       category = "cuckoo_json"
  81.       maxMessagesPerTransaction = 100
  82.       formatter = BareFormatterConfig
  83.     }
  84.   }
  85. }