CommandScheduler
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
Um agendador para executar comandos do TradeFederation em todos os dispositivos disponíveis.
Tentará priorizar a execução de comandos com base em uma contagem total de execução de seu tempo de execução. por exemplo, comandos de execução rápida ou infrequentes serão priorizados sobre comandos de execução longa. Funciona para sempre em segundo plano até o desligamento.Resumo
Turmas aninhadas | |
---|---|
enum | CommandScheduler.HostState Enums de diferentes status de host |
Construtores públicos | |
---|---|
CommandScheduler () Cria um |
Métodos públicos | |
---|---|
boolean | addCommand (String[] args) Adiciona um comando ao agendador. |
void | addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs) Adiciona todos os comandos do arquivo fornecido ao agendador |
void | await () Aguarda que o agendador comece a ser executado, inclusive aguardando a conclusão da transferência do TF antigo, se aplicável. |
static TradefedDelegator | checkDelegation (String[] args) Crie um delegador baseado na linha de comando para ver se precisamos delegar a execução. |
void | completeHandover () Informa ao programador de comandos que uma sequência de handover iniciada está totalmente concluída e deve reinicializar seu gerenciador remoto na porta padrão. |
static | createReleaseMap (IInvocationContext context, Throwable e) Crie um mapa do estado dos dispositivos para que possam ser liberados adequadamente. |
ISandbox | createSandbox () Crie um |
void | displayCommandQueue (PrintWriter printWriter) Saída de informações detalhadas de depuração sobre o estado da fila de execução do comando. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) Saída de uma lista de comandos atuais. |
void | displayInvocationsInfo (PrintWriter printWriter) Exibe uma lista de invocações atuais. |
void | dumpCommandsXml (PrintWriter printWriter, String regex) Despeje o arquivo xml expandido para o comando com todos os valores de |
void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args) Execute o comando diretamente no dispositivo já alocado. |
void | execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos usando um |
void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos. |
CommandFileWatcher | getCommandFileWatcher () Obtenha o |
int | getExecutingCommandCount () Retorna o número de Comandos em estado de execução. |
CommandScheduler.HostState | getHostState () |
String | getInvocationInfo (int invocationId) Retorne as informações sobre uma invocação bu especificando o id de invocação. |
CommandRunner.ExitCode | getLastInvocationExitCode () Retorna o código de erro da última invocação executada. |
Throwable | getLastInvocationThrowable () Retorne o |
int | getReadyCommandCount () Retorna o número de Comandos em estado pronto na fila. |
long | getShutdownTimeout () |
void | handoverInitiationComplete () Informa ao agendador de comandos que a troca inicial de handover de dispositivos e comandos em uso foi concluída e pode iniciar a operação de agendamento. |
boolean | handoverShutdown (int handoverPort) Inicia um |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () Remova todos os comandos do agendador |
void | run () O bloco de execução principal deste thread. |
void | setClearcutClient (ClearcutClient client) Defina o cliente para relatar dados de chicote |
boolean | shouldShutdownOnCmdfileError () Retorna true se precisarmos desligar o agendador em um erro de comando |
void | shutdown () Tente encerrar normalmente o planejador de comandos. |
void | shutdownHard (boolean killAdb) Tente encerrar com força o planejador de comandos. |
void | shutdownHard () Tente encerrar com força o planejador de comandos. |
void | shutdownOnEmpty () Semelhante a |
void | start () Inicia o agendador, incluindo a configuração de log, inicialização do |
boolean | stopInvocation ( ITestInvocation invocation) Interrompa uma invocação em execução. |
boolean | stopInvocation (int invocationId, String cause) Pare uma invocação em execução especificando seu id. |
Métodos protegidos | |
---|---|
void | cleanUp () Fecha os logs e faz qualquer outra limpeza necessária antes de sairmos. |
IConfiguration | createConfiguration (String[] args) |
IInvocationContext | createInvocationContext () |
IConfigurationFactory | getConfigFactory () Método de fábrica para obter uma referência ao |
IDeviceManager | getDeviceManager () Método de fábrica para obter uma referência ao |
TradefedFeatureServer | getFeatureServer () |
IHostOptions | getHostOptions () |
IKeyStoreClient | getKeyStoreClient () Busca um |
void | initLogging () Inicializa o log ddmlib. |
boolean | isShutdown () |
boolean | isShuttingDown () |
void | processReadyCommands ( IDeviceManager manager) |
void | waitForAllInvocationThreads () Aguarde até que todos os encadeamentos de invocação sejam concluídos. |
Construtores públicos
CommandScheduler
public CommandScheduler ()
Cria um CommandScheduler
.
Métodos públicos
addCommand
public boolean 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 para a 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 | |
---|---|
boolean | true se o comando foi adicionado com sucesso |
Lança | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Adiciona todos os comandos do arquivo fornecido ao agendador
Parâmetros | |
---|---|
cmdFilePath | String : o caminho do sistema de arquivos do arquivo de comando |
extraArgs | ERROR(/List) de argumentos String para anexar a cada comando analisado do arquivo. Pode ser vazio, mas não deve ser nulo. |
Lança | |
---|---|
ConfigurationException |
aguardam
public void await ()
Aguarda que o agendador comece a ser executado, inclusive aguardando a conclusão da transferência do TF antigo, se aplicável.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Crie um delegador baseado na linha de comando para ver se precisamos delegar a execução.
Parâmetros | |
---|---|
args | String |
Devoluções | |
---|---|
TradefedDelegator |
Lança | |
---|---|
ConfigurationException |
completoEntrega
public void completeHandover ()
Informa ao programador de comandos que uma sequência de handover iniciada está totalmente concluída e deve reinicializar seu gerenciador remoto na porta padrão.
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Crie um mapa do estado dos dispositivos para que possam ser liberados adequadamente.
Parâmetros | |
---|---|
context | IInvocationContext |
e | Throwable |
Devoluções | |
---|---|
createSandbox
public ISandbox createSandbox ()
Crie um ISandbox
que a invocação usará para executar.
Devoluções | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Saída de informações detalhadas de depuração sobre o estado da fila de execução do comando.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Saída de uma lista de comandos atuais.
Parâmetros | |
---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual a saída será. |
regex | String : a expressão regular à qual os comandos devem corresponder para serem impressos. Se null, todos os comandos serão impressos. |
displayInvocationsInfo
public 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á. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Despeje o arquivo xml expandido para o comando com todos os valores de Option
especificados para todos os comandos atuais.
Parâmetros | |
---|---|
printWriter | PrintWriter : o ERROR(/PrintWriter) para o qual enviar o status. |
regex | String : a expressão regular à qual os comandos devem corresponder para que o arquivo xml seja despejado. Se null, todos os comandos serão despejados. |
comando exec
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Execute o comando diretamente no dispositivo já alocado.
Parâmetros | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : o ICommandScheduler.IScheduledInvocationListener a ser informado |
device | ITestDevice : o ITestDevice a ser usado |
args | String : os argumentos do comando |
Lança | |
---|---|
ConfigurationException |
comando exec
public void 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 |
Lança | |
---|---|
ConfigurationException | |
NoDeviceException |
comando exec
public void 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 |
Lança | |
---|---|
ConfigurationException | |
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Obtenha o CommandFileWatcher
apropriado para este agendador
Devoluções | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Retorna o número de Comandos em estado de execução.
Devoluções | |
---|---|
int |
getHostState
public CommandScheduler.HostState getHostState ()
Devoluções | |
---|---|
CommandScheduler.HostState |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Retorne as informações sobre uma invocação bu especificando o id de 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 CommandRunner.ExitCode getLastInvocationExitCode ()
Retorna o código de erro da última invocação executada. Retorna 0 (sem erro), se nenhuma invocação foi executada ainda.
Devoluções | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Retorne o Throwable
da última invocação que foi executada. Retorna null, se nenhum throwable estiver disponível.
Devoluções | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Retorna o número de Comandos em estado pronto na fila.
Devoluções | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
Devoluções | |
---|---|
long |
handoverIniciaçãoConcluído
public void handoverInitiationComplete ()
Informa ao agendador de comandos que a troca inicial de handover de dispositivos e comandos em uso foi concluída e pode iniciar a operação de agendamento.
entrega Desligar
public boolean handoverShutdown (int handoverPort)
Inicia um shutdown()
e entrega para outro processo tradefed neste mesmo host.
Parâmetros | |
---|---|
handoverPort | int |
Devoluções | |
---|---|
boolean | true se a iniciação do handover foi bem-sucedida, false caso contrário |
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Parâmetros | |
---|---|
cmdFile | File |
extraArgs |
removeAllCommands
public void removeAllCommands ()
Remova todos os comandos do agendador
corre
public void run ()
O bloco de execução principal deste thread.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Defina o cliente para relatar dados de chicote
Parâmetros | |
---|---|
client | ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Retorna true se precisarmos desligar o agendador em um erro de comando
Devoluções | |
---|---|
boolean |
desligar
public void shutdown ()
Tente encerrar normalmente o planejador de comandos.
Limpa os comandos aguardando para serem testados e solicita que todas as invocações em andamento sejam encerradas normalmente. Depois que o desligamento é chamado, o loop principal do agendador aguardará a conclusão de todas as invocações em andamento antes de sair completamente.shutdownHard
public void shutdownHard (boolean killAdb)
Tente encerrar com força o planejador de comandos.
Semelhante a shutdown()
, mas opcionalmente também matará a conexão adb, em uma tentativa de 'inspirar' invocações em andamento para serem concluídas mais rapidamente.
Parâmetros | |
---|---|
killAdb | boolean |
shutdownHard
public void shutdownHard ()
Tente encerrar com força o planejador de comandos. O mesmo que shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
Semelhante a shutdown()
, mas aguardará que todos os comandos sejam executados antes de sair.
começar
public void start ()
Inicia o agendador, incluindo a configuração de log, inicialização do DeviceManager
etc.
pararInvocação
public boolean stopInvocation (ITestInvocation invocation)
Interrompa uma invocação em execução.
Parâmetros | |
---|---|
invocation | ITestInvocation |
Devoluções | |
---|---|
boolean | true se a invocação foi interrompida, false caso contrário |
pararInvocação
public 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 parar a invocação. |
Devoluções | |
---|---|
boolean | true se a invocação foi interrompida, false caso contrário |
Métodos protegidos
limpar
protected void cleanUp ()
Fecha os logs e faz qualquer outra limpeza necessária antes de sairmos.
Exposto para que os testes de unidade possam simular.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Parâmetros | |
---|---|
args | String |
Devoluções | |
---|---|
IConfiguration |
Lança | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
Devoluções | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Método de fábrica para obter uma referência ao IConfigurationFactory
Devoluções | |
---|---|
IConfigurationFactory | a IConfigurationFactory a ser usada |
getDeviceManager
protected IDeviceManager getDeviceManager ()
Método de fábrica para obter uma referência ao IDeviceManager
Devoluções | |
---|---|
IDeviceManager | o IDeviceManager para usar |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
Devoluções | |
---|---|
TradefedFeatureServer |
getHostOptions
protected IHostOptions getHostOptions ()
Devoluções | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Busca um IKeyStoreClient
usando o IKeyStoreFactory
declarado em IGlobalConfiguration
ou null se nenhum estiver definido.
Devoluções | |
---|---|
IKeyStoreClient | IKeyStoreClient |
initLogging
protected void initLogging ()
Inicializa o log ddmlib.
Exposto para que os testes de unidade possam simular.
isShutdown
protected boolean isShutdown ()
Devoluções | |
---|---|
boolean |
está Desligando
protected boolean isShuttingDown ()
Devoluções | |
---|---|
boolean |
ProcessReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parâmetros | |
---|---|
manager | IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Aguarde até que todos os encadeamentos de invocação sejam concluídos.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2022-07-06 UTC.