public class ForkingTaskRunner extends Object implements TaskRunner, TaskLogStreamer
Constructor and Description |
---|
ForkingTaskRunner(ForkingTaskRunnerConfig config,
TaskConfig taskConfig,
WorkerConfig workerConfig,
Properties props,
TaskLogPusher taskLogPusher,
com.fasterxml.jackson.databind.ObjectMapper jsonMapper,
DruidNode node) |
Modifier and Type | Method and Description |
---|---|
Collection<TaskRunnerWorkItem> |
getKnownTasks() |
Collection<TaskRunnerWorkItem> |
getPendingTasks() |
Collection<TaskRunnerWorkItem> |
getRunningTasks() |
com.google.common.base.Optional<ScalingStats> |
getScalingStats()
Some runners are able to scale up and down their capacity in a dynamic manner.
|
void |
registerListener(TaskRunnerListener listener,
Executor executor)
Register a listener with this task runner.
|
List<Pair<Task,com.google.common.util.concurrent.ListenableFuture<TaskStatus>>> |
restore()
Some task runners can restart previously-running tasks after being bounced.
|
com.google.common.util.concurrent.ListenableFuture<TaskStatus> |
run(Task task)
Run a task.
|
void |
shutdown(String taskid)
Inform the task runner it can clean up any resources associated with a task.
|
void |
start()
Start the state of the runner
|
void |
stop()
Stop this task runner.
|
com.google.common.base.Optional<com.google.common.io.ByteSource> |
streamTaskLog(String taskid,
long offset)
Stream log for a task.
|
void |
unregisterListener(String listenerId) |
@Inject public ForkingTaskRunner(ForkingTaskRunnerConfig config, TaskConfig taskConfig, WorkerConfig workerConfig, Properties props, TaskLogPusher taskLogPusher, com.fasterxml.jackson.databind.ObjectMapper jsonMapper, DruidNode node)
public List<Pair<Task,com.google.common.util.concurrent.ListenableFuture<TaskStatus>>> restore()
TaskRunner
restore
in interface TaskRunner
public void registerListener(TaskRunnerListener listener, Executor executor)
TaskRunner
registerListener
in interface TaskRunner
listener
- the listenerexecutor
- executor to run callbacks inpublic void unregisterListener(String listenerId)
unregisterListener
in interface TaskRunner
public com.google.common.util.concurrent.ListenableFuture<TaskStatus> run(Task task)
TaskRunner
run
in interface TaskRunner
task
- task to runpublic void stop()
TaskRunner
stop
in interface TaskRunner
public void shutdown(String taskid)
TaskRunner
shutdown
in interface TaskRunner
taskid
- task ID to clean up resources forpublic Collection<TaskRunnerWorkItem> getRunningTasks()
getRunningTasks
in interface TaskRunner
public Collection<TaskRunnerWorkItem> getPendingTasks()
getPendingTasks
in interface TaskRunner
public Collection<TaskRunnerWorkItem> getKnownTasks()
getKnownTasks
in interface TaskRunner
public com.google.common.base.Optional<ScalingStats> getScalingStats()
TaskRunner
getScalingStats
in interface TaskRunner
public void start()
TaskRunner
start
in interface TaskRunner
public com.google.common.base.Optional<com.google.common.io.ByteSource> streamTaskLog(String taskid, long offset)
TaskLogStreamer
streamTaskLog
in interface TaskLogStreamer
offset
- If zero, stream the entire log. If positive, attempt to read from this position onwards. If
negative, attempt to read this many bytes from the end of the file (like tail -n).Copyright © 2011–2017. All rights reserved.