Programador de comandos
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Objeto | |
↳ | com.android.tradefed.command.CommandScheduler |
Un programador para ejecutar comandos de TradeFederation en todos los dispositivos disponibles.
Intentará priorizar los comandos para ejecutar en función de un recuento total de su tiempo de ejecución. por ejemplo, los comandos de ejecución rápida o poco frecuente tendrán prioridad sobre los comandos de ejecución prolongada. Se ejecuta siempre en segundo plano hasta que se apaga.Resumen
clases anidadas | |
---|---|
enum | CommandScheduler.HostState Enumeraciones de diferentes estados de host |
Constructores públicos | |
---|---|
CommandScheduler () Crea un |
Métodos públicos | |
---|---|
boolean | addCommand (String[] args) Agrega un comando al programador. |
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 a que se complete la transferencia del TF anterior, 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. |
void | completeHandover () Informa al programador de comandos que una secuencia de transferencia iniciada está completamente completa y que debe reinicializar su administrador remoto en el puerto predeterminado. |
static | createReleaseMap (IInvocationContext context, Throwable e) Crear un mapa del estado de los dispositivos para que puedan ser liberados adecuadamente. |
ISandbox | createSandbox () Cree un |
void | displayCommandQueue (PrintWriter printWriter) Genera información de depuración detallada sobre el estado de la cola de ejecución de comandos. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) Genera una lista de 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 |
void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args) Ejecute directamente el comando en el dispositivo ya asignado. |
void | execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos utilizando un |
void | 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 |
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 una invocación bu especificando la identificación de la 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 () |
void | handoverInitiationComplete () Informa al programador de comandos que el intercambio de transferencia inicial de dispositivos y comandos en uso está completo y que puede comenzar a programar la operación. |
boolean | handoverShutdown (int handoverPort) Inicia un |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () Eliminar todos los comandos del programador |
void | run () El bloque de ejecución principal de este hilo. |
void | setClearcutClient (ClearcutClient client) Configurar el cliente para que informe los datos del arnés |
boolean | shouldShutdownOnCmdfileError () Devuelve verdadero si necesitamos apagar el programador debido a un error de comando |
void | shutdown () Intente cerrar correctamente el programador de comandos. |
void | shutdownHard (boolean killAdb) Intente cerrar por la fuerza el programador de comandos. |
void | shutdownHard () Intente cerrar por 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 identificación. |
Métodos protegidos | |
---|---|
void | cleanUp () Cierra los registros y realiza cualquier otra limpieza necesaria antes de salir. |
IConfiguration | createConfiguration (String[] args) |
IInvocationContext | createInvocationContext () |
IConfigurationFactory | getConfigFactory () Método de fábrica para obtener una referencia a |
IDeviceManager | getDeviceManager () Método de fábrica para obtener una referencia al |
TradefedFeatureServer | getFeatureServer () |
IHostOptions | getHostOptions () |
IKeyStoreClient | getKeyStoreClient () Obtiene un |
void | initLogging () Inicializa el registro ddmlib. |
boolean | isShutdown () |
boolean | isShuttingDown () |
void | processReadyCommands ( IDeviceManager manager) |
void | waitForAllInvocationThreads () Espere hasta que se completen todos los hilos de invocación. |
Constructores públicos
Programador de comandos
public CommandScheduler ()
Crea un CommandScheduler
.
Métodos públicos
agregarcomando
public boolean addCommand (String[] args)
Agrega un comando al programador.
Un comando es esencialmente una instancia de una configuración a 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 ejecutar.Parámetros | |
---|---|
args | String : los argumentos de configuración. |
Devoluciones | |
---|---|
boolean | true si el comando se agregó correctamente |
Lanza | |
---|---|
ConfigurationException |
agregar archivo de comando
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 a que se complete la transferencia del TF anterior, si corresponde.
checkDelegació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 | |
---|---|
ConfigurationException |
entrega completa
public void completeHandover ()
Informa al programador de comandos que una secuencia de transferencia iniciada está completamente completa y que debe reinicializar su administrador remoto en el puerto predeterminado.
crearReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Crear un mapa del estado de los dispositivos para que puedan ser liberados 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)
Genera información de depuración detallada sobre el estado de la cola de ejecución de comandos.
mostrarComandosInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Genera una lista de comandos actuales.
Parámetros | |
---|---|
printWriter | PrintWriter : el ERROR(/PrintWriter) al que enviar. |
regex | String : la expresión regular con la que se deben hacer coincidir los comandos para poder imprimirlos. 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) al que enviar. |
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) al que enviar el estado. |
regex | String : la expresión regular con la que se deben hacer coincidir los comandos para que se volque el archivo xml. Si es nulo, se volcarán todos los comandos. |
comando ejecutivo
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Ejecute directamente el comando en el dispositivo ya asignado.
Parámetros | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener que debe ser informado |
device | ITestDevice : el ITestDevice a utilizar |
args | String : los argumentos del comando. |
Lanza | |
---|---|
ConfigurationException |
comando ejecutivo
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Asigna directamente un dispositivo y ejecuta un comando sin agregarlo a la cola de comandos utilizando un IInvocationContext
ya existente.
Parámetros | |
---|---|
context | IInvocationContext : un IInvocationContext existente. |
listener | ICommandScheduler.IScheduledInvocationListener : el ICommandScheduler.IScheduledInvocationListener que debe ser informado |
args | String : los argumentos del comando. |
Lanza | |
---|---|
ConfigurationException | |
NoDeviceException |
comando ejecutivo
public void 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 que debe ser informado |
args | String : los argumentos del comando. |
Lanza | |
---|---|
ConfigurationException | |
NoDeviceException |
obtenerCommandFileWatcher
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 |
obtener información de invocación
public String getInvocationInfo (int invocationId)
Devuelve la información sobre una invocación bu especificando la identificación de la invocación.
Parámetros | |
---|---|
invocationId | int : la identificación de seguimiento de la invocación. |
Devoluciones | |
---|---|
String | Una String que contiene información sobre la invocación. |
obtenerÚltimoCódigo de Salida de Invocación
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ó. Devuelve nulo, si no hay ningún elemento arrojable disponible.
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 |
traspasoIniciaciónCompletar
public void handoverInitiationComplete ()
Informa al programador de comandos que el intercambio de transferencia inicial de dispositivos y comandos en uso está completo y que puede comenzar a programar la operación.
entregaApagar
public boolean handoverShutdown (int handoverPort)
Inicia un shutdown()
y un traspaso a otro proceso alimentado por comercio en este mismo host.
Parámetros | |
---|---|
handoverPort | int |
Devoluciones | |
---|---|
boolean | true si el inicio de la transferencia fue exitoso; false en caso contrario |
notificar archivo cambiado
public void notifyFileChanged (File cmdFile,extraArgs)
Parámetros | |
---|---|
cmdFile | File |
extraArgs |
eliminar todos los comandos
public void removeAllCommands ()
Eliminar todos los comandos del programador
correr
public void run ()
El bloque de ejecución principal de este hilo.
setClearcutCliente
public void setClearcutClient (ClearcutClient client)
Configurar el cliente para que informe los datos del arnés
Parámetros | |
---|---|
client | ClearcutClient |
deberíaShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Devuelve verdadero si necesitamos apagar el programador debido a un error de comando
Devoluciones | |
---|---|
boolean |
cerrar
public void shutdown ()
Intente cerrar correctamente el programador de comandos.
Borra los comandos en espera de ser probados y solicita que todas las invocaciones en curso se cierren correctamente. Después de llamar al apagado, el bucle principal del programador esperará a que se completen todas las invocaciones en curso antes de salir por completo.apagadoDifícil
public void shutdownHard (boolean killAdb)
Intente cerrar por la fuerza el programador de comandos.
Similar a shutdown()
, pero opcionalmente también cancelará la conexión adb, en un intento de "inspirar" las invocaciones en progreso para que se completen más rápido.
Parámetros | |
---|---|
killAdb | boolean |
apagadoDifícil
public void shutdownHard ()
Intente cerrar por la fuerza el programador de comandos. Igual que ShutdownHard (verdadero).
apagadoOnEmpty
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 la invocación se detuvo, falso en caso contrario. |
detenerInvocación
public boolean stopInvocation (int invocationId, String cause)
Detenga una invocación en ejecución especificando su identificación.
Parámetros | |
---|---|
invocationId | int : la identificación de seguimiento de la invocación. |
cause | String : la causa por la que se detuvo la invocación. |
Devoluciones | |
---|---|
boolean | Verdadero si la invocación se detuvo, falso en caso 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 burlarse.
crear configuración
protected IConfiguration createConfiguration (String[] args)
Parámetros | |
---|---|
args | String |
Devoluciones | |
---|---|
IConfiguration |
Lanza | |
---|---|
ConfigurationException |
crear contexto de invocación
protected IInvocationContext createInvocationContext ()
Devoluciones | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Método de fábrica para obtener una referencia a IConfigurationFactory
Devoluciones | |
---|---|
IConfigurationFactory | el IConfigurationFactory a utilizar |
obtenerAdministrador de dispositivos
protected IDeviceManager getDeviceManager ()
Método de fábrica para obtener una referencia al IDeviceManager
Devoluciones | |
---|---|
IDeviceManager | el IDeviceManager a utilizar |
obtener servidor de funciones
protected TradefedFeatureServer getFeatureServer ()
Devoluciones | |
---|---|
TradefedFeatureServer |
getHostOptions
protected IHostOptions getHostOptions ()
Devoluciones | |
---|---|
IHostOptions |
getKeyStoreCliente
protected IKeyStoreClient getKeyStoreClient ()
Obtiene un IKeyStoreClient
utilizando IKeyStoreFactory
declarado en IGlobalConfiguration
o nulo si no hay ninguno definido.
Devoluciones | |
---|---|
IKeyStoreClient | Cliente IKeyStore |
inicio de sesión
protected void initLogging ()
Inicializa el registro ddmlib.
Expuesto para que las pruebas unitarias puedan burlarse.
está apagado
protected boolean isShutdown ()
Devoluciones | |
---|---|
boolean |
se está cerrando
protected boolean isShuttingDown ()
Devoluciones | |
---|---|
boolean |
procesoReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parámetros | |
---|---|
manager | IDeviceManager |
esperar para todos los hilos de invocación
protected void waitForAllInvocationThreads ()
Espere hasta que se completen todos los hilos de invocación.
El contenido y el código de ejemplo de esta página están sujetos a las licencias que se describen en la licencia de contenido. Java y OpenJDK son marcas registradas de Oracle o sus entidades asociadas.
Última actualización: 2023-12-01 (UTC).