summaryrefslogtreecommitdiff
path: root/cask/src/cask/internal/BatchActor.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cask/src/cask/internal/BatchActor.scala')
-rw-r--r--cask/src/cask/internal/BatchActor.scala7
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{