Programador de comandos
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Objeto | |
↳ | com.android.tradefed.command.CommandScheduler |
Un planificador para ejecutar comandos de TradeFederation en todos los dispositivos disponibles.
Intentará priorizar los comandos para que se ejecuten en función de un recuento total de ejecución de su tiempo de ejecución. por ejemplo, los comandos de ejecución rápida o infrecuentes tendrán prioridad sobre los comandos de ejecución prolongada.
Se ejecuta para siempre en segundo plano hasta que se apaga.
Resumen
Constructores públicos | |
---|---|
CommandScheduler () Crea un |
Métodos públicos | |
---|---|
Pair <Boolean, Integer> | addCommand (String[] args) Agrega un comando al planificador. |
void | addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs) Agrega todos los comandos del archivo dado al programador |
void | await () Espera a que el programador comience a ejecutarse, incluida la espera de que se complete el traspaso del antiguo TF, si corresponde. |
static TradefedDelegator | checkDelegation (String[] args) Cree un delegador basado en la línea de comando para ver si necesitamos delegar la ejecución. |
static | createReleaseMap ( IInvocationContext context, Throwable e) Cree un mapa del estado de los dispositivos para que puedan liberarse adecuadamente. |
ISandbox | createSandbox () Cree un |
void | displayCommandQueue (PrintWriter printWriter) Muestra información detallada de depuración sobre el estado de la cola de ejecución de comandos. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) Muestra una lista de los comandos actuales. |
void | displayInvocationsInfo (PrintWriter printWriter) Muestra una lista de invocaciones actuales. |
void | dumpCommandsXml (PrintWriter printWriter, String regex) Vuelque el archivo xml expandido para el comando con todos los valores |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) Ejecute directamente el comando en los dispositivos ya asignados. |
long | execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos mediante un |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos. |
CommandFileWatcher | getCommandFileWatcher () Obtenga el CommandFileWatcher apropiado para este programador |
int | getExecutingCommandCount () Devuelve el número de Comandos en estado de ejecución. |
CommandScheduler.HostState | getHostState () |
String | getInvocationInfo (int invocationId) Devuelve la información sobre un bu de invocación especificando el id de invocación. |
CommandRunner.ExitCode | getLastInvocationExitCode () Devuelve el código de error de la última invocación que se ejecutó. |
Throwable | getLastInvocationThrowable () Devuelve el |
int | getReadyCommandCount () Devuelve el número de Comandos en estado listo en la cola. |
long | getShutdownTimeout () |
boolean | isDeviceInInvocationThread ( ITestDevice device) Devuelve verdadero si el dispositivo es utilizado por un subproceso de invocación activo. |
boolean | isShuttingDown () |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () Eliminar todos los comandos del programador |
void | run () El principal bloque de ejecución de este hilo. |
void | setClearcutClient (ClearcutClient client) Configurar el cliente para informar datos de arnés |
boolean | shouldShutdownOnCmdfileError () Devuelve verdadero si necesitamos apagar el programador en un error de comando |
void | shutdown (boolean notifyStop) Intente cerrar correctamente el programador de comandos. |
void | shutdownHard (boolean killAdb) Intente apagar a la fuerza el programador de comandos. |
void | shutdownHard () Intente apagar a la fuerza el programador de comandos. |
void | shutdownOnEmpty () Similar a |
void | start () Inicia el programador, incluida la configuración del registro, el inicio de |
boolean | stopInvocation ( ITestInvocation invocation) Detener una invocación en ejecución. |
boolean | stopInvocation (int invocationId, String cause) Detenga una invocación en ejecución especificando su id. |
Constructores públicos
Programador de comandos
public CommandScheduler ()
Crea un CommandScheduler
.
Nota: el inicio debe llamarse antes de su uso.
Métodos públicos
añadirComando
public Pair<Boolean, Integer> addCommand (String[] args)
Agrega un comando al planificador.
Un comando es esencialmente una instancia de una configuración para ejecutar y sus argumentos asociados.
Si se especifica el argumento "--help", el texto de ayuda para la configuración se enviará a la salida estándar. De lo contrario, la configuración se agregará a la cola para ejecutarse.
Parámetros | |
---|---|
args | String : los argumentos de configuración. |
Devoluciones | |
---|---|
Pair <Boolean, Integer> | Un par de valores, el primer valor es un booleano true si el comando se agregó correctamente. El segundo valor es la identificación del rastreador de comandos conocido (valor no negativo) si el comando se agregó correctamente, devuelve 0 cuando se agrega el comando para todos los dispositivos; de lo contrario, -1. |
Lanza | |
---|---|
ConfigurationException |
añadirCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Agrega todos los comandos del archivo dado al programador
Parámetros | |
---|---|
cmdFilePath | String : la ruta del sistema de archivos del archivo de comando |
extraArgs | ERROR(/List) de argumentos String para agregar a cada comando analizado desde el archivo. Puede estar vacío pero no debe ser nulo. |
Lanza | |
---|---|
ConfigurationException |
esperar
public void await ()
Espera a que el programador comience a ejecutarse, incluida la espera de que se complete el traspaso del antiguo TF, si corresponde.
comprobar Delegación
public static TradefedDelegator checkDelegation (String[] args)
Cree un delegador basado en la línea de comando para ver si necesitamos delegar la ejecución.
Parámetros | |
---|---|
args | String |
Devoluciones | |
---|---|
TradefedDelegator |
Lanza | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |
crearReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Cree un mapa del estado de los dispositivos para que puedan liberarse adecuadamente.
Parámetros | |
---|---|
context | IInvocationContext |
e | Throwable |
Devoluciones | |
---|---|
crearSandbox
public ISandbox createSandbox ()
Cree un ISandbox
que utilizará la invocación para ejecutarse.
Devoluciones | |
---|---|
ISandbox |
mostrarCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Muestra información detallada de depuración sobre el estado de la cola de ejecución de comandos.
mostrarCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Muestra una lista de los comandos actuales.
Parámetros | |
---|---|
printWriter | PrintWriter : el ERROR(/PrintWriter) a la salida. |
regex | String : la expresión regular con la que deben coincidir los comandos para que se impriman. Si es nulo, se imprimirán todos los comandos. |
mostrarInvocacionesInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Muestra una lista de invocaciones actuales.
Parámetros | |
---|---|
printWriter | PrintWriter : el ERROR(/PrintWriter) a la salida. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Vuelque el archivo xml expandido para el comando con todos los valores Option
especificados para todos los comandos actuales.
Parámetros | |
---|---|
printWriter | PrintWriter : el ERROR(/PrintWriter) para enviar el estado. |
regex | String : la expresión regular con la que se deben hacer coincidir los comandos para que se descargue el archivo xml. Si es nulo, se volcarán todos los comandos. |
comandoejecutivo
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Ejecute directamente el comando en los dispositivos ya asignados.
Parámetros | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener para ser informado |
reservedDevices | ERROR(/List ) ERROR(/List ) para usar |
args | String : los argumentos del comando |
Devoluciones | |
---|---|
long | El id de invocación del comando programado. |
Lanza | |
---|---|
ConfigurationException |
comandoejecutivo
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos mediante un IInvocationContext
ya existente.
Parámetros | |
---|---|
context | IInvocationContext : un IInvocationContext existente. |
listener | ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener para ser informado |
args | String : los argumentos del comando |
Devoluciones | |
---|---|
long |
Lanza | |
---|---|
ConfigurationException | |
NoDeviceException |
comandoejecutivo
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos.
Parámetros | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener para ser informado |
args | String : los argumentos del comando |
Devoluciones | |
---|---|
long | El id de invocación del comando programado. |
Lanza | |
---|---|
ConfigurationException | |
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Obtenga el CommandFileWatcher apropiado para este programador
Devoluciones | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Devuelve el número de Comandos en estado de ejecución.
Devoluciones | |
---|---|
int |
getHostState
public CommandScheduler.HostState getHostState ()
Devoluciones | |
---|---|
CommandScheduler.HostState |
obtenerInvocaciónInformación
public String getInvocationInfo (int invocationId)
Devuelve la información sobre un bu de invocación especificando el id de invocación.
Parámetros | |
---|---|
invocationId | int : el id de seguimiento de la invocación. |
Devoluciones | |
---|---|
String | Una String que contiene información sobre la invocación. |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Devuelve el código de error de la última invocación que se ejecutó. Devuelve 0 (sin error), si aún no se ha ejecutado ninguna invocación.
Devoluciones | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Devuelve el Throwable
de la última invocación que se ejecutó. Retorna nulo, si no hay disponible un arrojable.
Devoluciones | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Devuelve el número de Comandos en estado listo en la cola.
Devoluciones | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
Devoluciones | |
---|---|
long |
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Devuelve verdadero si el dispositivo es utilizado por un subproceso de invocación activo.
Parámetros | |
---|---|
device | ITestDevice |
Devoluciones | |
---|---|
boolean |
se está cerrando
public boolean isShuttingDown ()
Devoluciones | |
---|---|
boolean |
notificarArchivoCambiado
public void notifyFileChanged (File cmdFile,extraArgs)
Parámetros | |
---|---|
cmdFile | File |
extraArgs |
removeAllCommands
public void removeAllCommands ()
Eliminar todos los comandos del programador
correr
public void run ()
El principal bloque de ejecución de este hilo.
establecerClearcutClient
public void setClearcutClient (ClearcutClient client)
Configurar el cliente para informar datos de arnés
Parámetros | |
---|---|
client | ClearcutClient |
deberíaShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Devuelve verdadero si necesitamos apagar el programador en un error de comando
Devoluciones | |
---|---|
boolean |
cerrar
public void shutdown (boolean notifyStop)
Intente cerrar correctamente el programador de comandos.
Parámetros | |
---|---|
notifyStop | boolean : si es verdadero, notifica las invocaciones del apagado de TF. |
apagar duro
public void shutdownHard (boolean killAdb)
Intente apagar a la fuerza el programador de comandos.
Similar a shutdown()
, pero opcionalmente también eliminará la conexión adb, en un intento de 'inspirar' las invocaciones en curso para que se completen más rápido.
Parámetros | |
---|---|
killAdb | boolean |
apagar duro
public void shutdownHard ()
Intente apagar a la fuerza el programador de comandos. Igual que shutdownHard (verdadero).
apagado en vacío
public void shutdownOnEmpty ()
Similar a shutdown()
, pero esperará a que se ejecuten todos los comandos antes de salir.
comenzar
public void start ()
Inicia el programador, incluida la configuración del registro, el inicio de DeviceManager
, etc.
detenerInvocación
public boolean stopInvocation (ITestInvocation invocation)
Detener una invocación en ejecución.
Parámetros | |
---|---|
invocation | ITestInvocation |
Devoluciones | |
---|---|
boolean | verdadero si se detuvo la invocación, falso de lo contrario |
detenerInvocación
public boolean stopInvocation (int invocationId, String cause)
Detenga una invocación en ejecución especificando su id.
Parámetros | |
---|---|
invocationId | int : el id de seguimiento de la invocación. |
cause | String : la causa para detener la invocación. |
Devoluciones | |
---|---|
boolean | verdadero si se detuvo la invocación, falso de lo contrario |
Métodos protegidos
limpiar
protected void cleanUp ()
Cierra los registros y realiza cualquier otra limpieza necesaria antes de salir.
Expuesto para que las pruebas unitarias puedan simular.
crearConfiguración
protected IConfiguration createConfiguration (String[] args)
Parámetros | |
---|---|
args | String |
Devoluciones | |
---|---|
IConfiguration |
Lanza | |
---|---|
ConfigurationException |
crear contexto de invocación
protected IInvocationContext createInvocationContext ()
Devoluciones | |
---|---|
IInvocationContext |
comandoejecutivo
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Parámetros | |
---|---|
context | IInvocationContext |
listener | ICommandScheduler.IScheduledInvocationListener |
reservedDevices | |
args | String |
Devoluciones | |
---|---|
long |
Lanza | |
---|---|
ConfigurationException |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Método de fábrica para obtener una referencia a IConfigurationFactory
Devoluciones | |
---|---|
IConfigurationFactory | IConfigurationFactory para usar |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
Devoluciones | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
Método de fábrica para obtener una referencia a IDeviceManager
Devoluciones | |
---|---|
IDeviceManager | el IDeviceManager para usar |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
Devoluciones | |
---|---|
TradefedFeatureServer |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Obtiene un IKeyStoreClient
usando IKeyStoreFactory
declarado en IGlobalConfiguration
o nulo si no se define ninguno.
Devoluciones | |
---|---|
IKeyStoreClient | IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
Devoluciones | |
---|---|
TestInvocationManagementServer |
inicio de sesión
protected void initLogging ()
Inicializa el registro de ddmlib.
Expuesto para que las pruebas unitarias puedan simular.
esApagado
protected boolean isShutdown ()
Devoluciones | |
---|---|
boolean |
procesarReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parámetros | |
---|---|
manager | IDeviceManager |