aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/scala/org/apache/spark/util/taskListeners.scala
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/scala/org/apache/spark/util/taskListeners.scala')
-rw-r--r--core/src/main/scala/org/apache/spark/util/taskListeners.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/core/src/main/scala/org/apache/spark/util/taskListeners.scala b/core/src/main/scala/org/apache/spark/util/taskListeners.scala
index 1be31e88ab..fb3852a636 100644
--- a/core/src/main/scala/org/apache/spark/util/taskListeners.scala
+++ b/core/src/main/scala/org/apache/spark/util/taskListeners.scala
@@ -19,6 +19,8 @@ package org.apache.spark.util
import java.util.EventListener
+import scala.language.implicitConversions
+
import org.apache.spark.TaskContext
import org.apache.spark.annotation.DeveloperApi
@@ -32,6 +34,13 @@ trait TaskCompletionListener extends EventListener {
def onTaskCompletion(context: TaskContext): Unit
}
+object TaskCompletionListener {
+ implicit def functionToTaskCompletionListener(f: TaskContext => Unit): TaskCompletionListener =
+ new TaskCompletionListener {
+ override def onTaskCompletion(context: TaskContext): Unit = f(context)
+ }
+}
+
/**
* :: DeveloperApi ::
@@ -44,6 +53,14 @@ trait TaskFailureListener extends EventListener {
def onTaskFailure(context: TaskContext, error: Throwable): Unit
}
+object TaskFailureListener {
+ implicit def functionToTaskFailureListener(
+ f: (TaskContext, Throwable) => Unit): TaskFailureListener =
+ new TaskFailureListener {
+ override def onTaskFailure(context: TaskContext, error: Throwable): Unit = f(context, error)
+ }
+}
+
/**
* Exception thrown when there is an exception in executing the callback in TaskCompletionListener.