diff options
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.scala | 17 |
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. |