ICommandScheduler
public interface ICommandScheduler
| com.android.tradefed.command.ICommandScheduler |
Um agendador para executar comandos TradeFederation.
Resumo
Classes aninhadas | |
|---|---|
interface | ICommandScheduler.IScheduledInvocationListenerOuvinte para eventos de invocação quando a invocação for concluída. |
Métodos públicos | |
|---|---|
abstract Pair <Boolean, Integer> | addCommand (String[] args)Adiciona um comando ao agendador. |
abstract void | addCommandFile (String cmdFile, extraArgs)addCommandFile (String cmdFile, extraArgs)Adiciona todos os comandos de determinado arquivo ao agendador |
abstract void | await ()Aguarda que o agendador comece a ser executado, incluindo a espera pela conclusão da transferência do TF antigo, se aplicável. |
abstract void | displayCommandQueue (PrintWriter printWriter)Gere informações detalhadas de depuração sobre o estado da fila de execução de comandos. |
abstract void | displayCommandsInfo (PrintWriter printWriter, String regex)Produza uma lista de comandos atuais. |
abstract void | displayInvocationsInfo (PrintWriter printWriter)Exibe uma lista de invocações atuais. |
abstract void | dumpCommandsXml (PrintWriter printWriter, String regex) Despeja o arquivo xml expandido para o comando com todos os valores |
abstract long | execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos usando um |
abstract long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args)Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos. |
abstract long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)execCommand ( ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)Execute o comando diretamente em dispositivos já alocados. |
abstract CommandFileWatcher | getCommandFileWatcher ()Obtenha o CommandFileWatcher apropriado para este agendador |
abstract int | getExecutingCommandCount ()Retorna o número de comandos em estado de execução. |
abstract String | getInvocationInfo (int invocationId)Retorna as informações sobre uma invocação bu especificando o ID da invocação. |
abstract CommandRunner.ExitCode | getLastInvocationExitCode ()Retorne o código de erro da última invocação executada. |
abstract Throwable | getLastInvocationThrowable () Retorne o |
abstract int | getReadyCommandCount ()Retorna o número de comandos em estado pronto na fila. |
abstract boolean | isDeviceInInvocationThread ( ITestDevice device)Retornará verdadeiro se o dispositivo for usado por um thread de invocação ativo. |
abstract void | join ()Aguarda a conclusão do agendador. |
abstract void | join (long millis)Aguarda a conclusão do agendador ou atinge o tempo limite após a duração especificada em milissegundos. |
abstract void | removeAllCommands ()Remova todos os comandos do agendador |
abstract void | setClearcutClient (ClearcutClient client)Configurar o cliente para relatar dados de arreios |
abstract boolean | shouldShutdownOnCmdfileError ()Retorne verdadeiro se precisarmos desligar o agendador em caso de erros de comando |
default void | shutdown ()Tente encerrar normalmente o agendador de comando. |
abstract void | shutdown (boolean notifyStop)Tente encerrar normalmente o agendador de comando. |
abstract void | shutdownHard (boolean killAdb)Tente desligar à força o agendador de comandos. |
abstract void | shutdownHard ()Tente desligar à força o agendador de comandos. |
abstract void | shutdownOnEmpty () Semelhante a |
abstract void | start () Inicie o |
abstract boolean | stopInvocation (int invocationId, String cause)Pare uma invocação em execução especificando seu id. |
default boolean | stopInvocation (int invocationId)Pare uma invocação em execução especificando seu ID. |
abstract boolean | stopInvocation ( ITestInvocation invocation)Pare uma chamada em execução. |
default void | stopScheduling ()Para de agendar e aceitar novos testes, mas não para o Tradefed. |
Métodos públicos
adicionarComando
public abstract Pair<Boolean, Integer> addCommand (String[] args)
Adiciona um comando ao agendador.
Um comando é essencialmente uma instância de uma configuração a ser executada e seus argumentos associados.
Se o argumento "--help" for especificado, o texto de ajuda da configuração será enviado para stdout. Caso contrário, a configuração será adicionada à fila para execução.
| Parâmetros | |
|---|---|
args | String : os argumentos de configuração. |
| Devoluções | |
|---|---|
Pair <Boolean, Integer> | Um par de valores, o primeiro valor é um booleano true se o comando foi adicionado com sucesso. O segundo valor é o ID do rastreador de comando conhecido (valor não negativo) se o comando foi adicionado com sucesso, retorne 0 quando o comando for adicionado para todos os dispositivos, caso contrário -1. |
| Lança | |
|---|---|
ConfigurationException | se o comando não puder ser analisado |
adicionarCommandFile
public abstract void addCommandFile (String cmdFile,
extraArgs) Adiciona todos os comandos de determinado arquivo ao agendador
| Parâmetros | |
|---|---|
cmdFile | String : o caminho do sistema de arquivos do arquivo de comando |
extraArgs | ERROR(/List) de argumentos String a serem anexados a cada comando analisado do arquivo. Pode estar vazio, mas não deve ser nulo. |
| Lança | |
|---|---|
ConfigurationException | se o arquivo de comando não puder ser analisado |
Veja também:
aguardam
public abstract void await ()
Aguarda que o agendador comece a ser executado, incluindo a espera pela conclusão da transferência do TF antigo, se aplicável.
displayCommandQueue
public abstract void displayCommandQueue (PrintWriter printWriter)
Gere informações detalhadas de depuração sobre o estado da fila de execução de comandos.
displayCommandsInfo
public abstract void displayCommandsInfo (PrintWriter printWriter,
String regex)Produza uma lista de comandos atuais.
| Parâmetros | |
|---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual a saída será gerada. |
regex | String : a expressão regular à qual os comandos devem corresponder para serem impressos. Se for nulo, todos os comandos serão impressos. |
displayInvocationsInfo
public abstract void displayInvocationsInfo (PrintWriter printWriter)
Exibe uma lista de invocações atuais.
| Parâmetros | |
|---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual a saída será gerada. |
dumpCommandsXml
public abstract void dumpCommandsXml (PrintWriter printWriter,
String regex) Despeja o arquivo xml expandido para o comando com todos os valores Option especificados para todos os comandos atuais.
| Parâmetros | |
|---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual gerar o status. |
regex | String : a expressão regular com a qual os comandos devem corresponder para que o arquivo xml seja despejado. Se for nulo, todos os comandos serão descartados. |
execCommand
public abstract long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos usando um IInvocationContext já existente.
| Parâmetros | |
|---|---|
context | IInvocationContext : um IInvocationContext existente. |
listener | ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
args | String : os argumentos do comando |
| Devoluções | |
|---|---|
long | |
| Lança | |
|---|---|
ConfigurationException | se o comando fosse inválido |
NoDeviceException | se não houver nenhum dispositivo para usar |
execCommand
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos.
| Parâmetros | |
|---|---|
listener | ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
args | String : os argumentos do comando |
| Devoluções | |
|---|---|
long | O ID de invocação do comando agendado. |
| Lança | |
|---|---|
ConfigurationException | se o comando fosse inválido |
NoDeviceException | se não houver nenhum dispositivo para usar |
execCommand
public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener,devices, String[] args)
Execute o comando diretamente em dispositivos já alocados.
| Parâmetros | |
|---|---|
listener | ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
devices | ERROR(/List )ERROR(/List ) usar |
args | String : os argumentos do comando |
| Devoluções | |
|---|---|
long | O ID de invocação do comando agendado. |
| Lança | |
|---|---|
ConfigurationException | se o comando fosse inválido |
getCommandFileWatcher
public abstract CommandFileWatcher getCommandFileWatcher ()
Obtenha o CommandFileWatcher apropriado para este agendador
| Devoluções | |
|---|---|
CommandFileWatcher | |
getExecutingCommandCount
public abstract int getExecutingCommandCount ()
Retorna o número de comandos em estado de execução.
| Devoluções | |
|---|---|
int | |
getInvocationInfo
public abstract String getInvocationInfo (int invocationId)
Retorna as informações sobre uma invocação bu especificando o ID da invocação.
| Parâmetros | |
|---|---|
invocationId | int : o ID de rastreamento da invocação. |
| Devoluções | |
|---|---|
String | Uma String contendo informações sobre a invocação. |
getLastInvocationExitCode
public abstract CommandRunner.ExitCode getLastInvocationExitCode ()
Retorne o código de erro da última invocação executada. Retorna 0 (sem erro), se nenhuma invocação tiver sido executada ainda.
| Devoluções | |
|---|---|
CommandRunner.ExitCode | |
getLastInvocationThrowable
public abstract Throwable getLastInvocationThrowable ()
Retorne o Throwable da última invocação executada. Retorne nulo, se nenhum lançável estiver disponível.
| Devoluções | |
|---|---|
Throwable | |
getReadyCommandCount
public abstract int getReadyCommandCount ()
Retorna o número de comandos em estado pronto na fila.
| Devoluções | |
|---|---|
int | |
isDeviceInInvocationThread
public abstract boolean isDeviceInInvocationThread (ITestDevice device)
Retornará verdadeiro se o dispositivo for usado por um thread de invocação ativo.
| Parâmetros | |
|---|---|
device | ITestDevice |
| Devoluções | |
|---|---|
boolean | |
juntar
public abstract void join (long millis)
Aguarda a conclusão do agendador ou atinge o tempo limite após a duração especificada em milissegundos.
| Parâmetros | |
|---|---|
millis | long |
Veja também:
remover todos os comandos
public abstract void removeAllCommands ()
Remova todos os comandos do agendador
setClearcutClient
public abstract void setClearcutClient (ClearcutClient client)
Configurar o cliente para relatar dados de arreios
| Parâmetros | |
|---|---|
client | ClearcutClient |
deveriaShutdownOnCmdfileError
public abstract boolean shouldShutdownOnCmdfileError ()
Retorne verdadeiro se precisarmos desligar o agendador em caso de erros de comando
| Devoluções | |
|---|---|
boolean | |
desligar
public void shutdown ()
Tente encerrar normalmente o agendador de comandos.
Limpa comandos que aguardam testes e solicita que todas as invocações em andamento sejam encerradas normalmente.
Depois que o shutdown for chamado, o loop principal do agendador aguardará a conclusão de todas as invocações em andamento antes de sair completamente.
desligar
public abstract void shutdown (boolean notifyStop)
Tente encerrar normalmente o agendador de comandos.
| Parâmetros | |
|---|---|
notifyStop | boolean : se verdadeiro, notifica invocações de desligamento do TF. |
desligamentoHard
public abstract void shutdownHard (boolean killAdb)
Tente desligar à força o agendador de comandos.
Semelhante a shutdown() , mas também interromperá opcionalmente a conexão adb, em uma tentativa de 'inspirar' as invocações em andamento para serem concluídas mais rapidamente.
| Parâmetros | |
|---|---|
killAdb | boolean |
desligamentoHard
public abstract void shutdownHard ()
Tente desligar à força o agendador de comandos. O mesmo que shutdownHard(verdadeiro).
shutdownOnEmpty
public abstract void shutdownOnEmpty ()
Semelhante a shutdown() , mas em vez disso esperará que todos os comandos sejam executados antes de sair.
começar
public abstract void start ()
Inicie o ICommandScheduler .
shutdown() seja chamado. veja Thread.start() . pararInvocação
public abstract boolean stopInvocation (int invocationId,
String cause)Pare uma invocação em execução especificando seu id.
| Parâmetros | |
|---|---|
invocationId | int : o ID de rastreamento da invocação. |
cause | String : a causa para interromper a invocação. |
| Devoluções | |
|---|---|
boolean | verdadeiro se a invocação foi interrompida, falso caso contrário |
| Lança | |
|---|---|
UnsupportedOperationException | se a implementação não suportar isso |
pararInvocação
public boolean stopInvocation (int invocationId)
Pare uma invocação em execução especificando seu id.
| Parâmetros | |
|---|---|
invocationId | int |
| Devoluções | |
|---|---|
boolean | verdadeiro se a invocação foi interrompida, falso caso contrário |
| Lança | |
|---|---|
UnsupportedOperationException | se a implementação não suportar isso |
pararInvocação
public abstract boolean stopInvocation (ITestInvocation invocation)
Pare uma chamada em execução.
| Parâmetros | |
|---|---|
invocation | ITestInvocation |
| Devoluções | |
|---|---|
boolean | verdadeiro se a invocação foi interrompida, falso caso contrário |
| Lança | |
|---|---|
UnsupportedOperationException | se a implementação não suportar isso |
parar Agendamento
public void stopScheduling ()
Para de agendar e aceitar novos testes, mas não para o Tradefed. O objetivo disso é permitir um desligamento em duas etapas, onde primeiro drenamos todos os testes em execução e, em seguida, encerramos o processo Tradefed.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2023-12-01 UTC.