diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2019-09-15 13:11:17 +0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2019-09-15 13:19:12 +0800 |
commit | f158811a79f702a406e3dd2b961f3b085e6c47c0 (patch) | |
tree | 190d0b7eb7d3ea4bcfb7364bd8c73fa5315c966b /cask/src/cask/internal/BatchActor.scala | |
parent | 0e098a93da94c251eb05d42bc7ef48394600508c (diff) | |
download | cask-f158811a79f702a406e3dd2b961f3b085e6c47c0.tar.gz cask-f158811a79f702a406e3dd2b961f3b085e6c47c0.tar.bz2 cask-f158811a79f702a406e3dd2b961f3b085e6c47c0.zip |
Sketch out a standard `cask.Logger` interface and standardize dependency injection via case class implicits
Diffstat (limited to 'cask/src/cask/internal/BatchActor.scala')
-rw-r--r-- | cask/src/cask/internal/BatchActor.scala | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cask/src/cask/internal/BatchActor.scala b/cask/src/cask/internal/BatchActor.scala index 1566a18..60b5f57 100644 --- a/cask/src/cask/internal/BatchActor.scala +++ b/cask/src/cask/internal/BatchActor.scala @@ -1,5 +1,7 @@ package cask.internal +import cask.util.Logger + import scala.collection.mutable import scala.concurrent.ExecutionContext @@ -8,7 +10,8 @@ import scala.concurrent.ExecutionContext * of queued items. `run` handles items in batches, to allow for batch * processing optimizations to be used where relevant. */ -abstract class BatchActor[T]()(implicit ec: ExecutionContext) { +abstract class BatchActor[T]()(implicit ec: ExecutionContext, + log: Logger) { def run(items: Seq[T]): Unit private val queue = new mutable.Queue[T]() @@ -24,7 +27,7 @@ abstract class BatchActor[T]()(implicit ec: ExecutionContext) { def runWithItems(): Unit = { val items = synchronized(queue.dequeueAll(_ => true)) try run(items) - catch{case e: Throwable => e.printStackTrace()} + catch{case e: Throwable => log.exception(e)} synchronized{ if (queue.nonEmpty) ec.execute(() => runWithItems()) else{ |