CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
Um programador para executar comandos da TradeFederation em todos os dispositivos disponíveis.
Tenta priorizar os comandos a serem executados com base em uma contagem total do tempo de execução. Por exemplo, comandos de execução frequentes ou rápidos são priorizados em vez de comandos de execução longa.
É executada para sempre em segundo plano até a desativação.
Resumo
Classes aninhadas | |
---|---|
enum |
CommandScheduler.HostState
Tipos enumerados de diferentes status do host |
Construtores públicos | |
---|---|
CommandScheduler()
Cria um |
Métodos públicos | |
---|---|
boolean
|
addCommand(String[] args)
Adiciona um comando ao programador. |
void
|
addCommandFile(String cmdFilePath,
Adiciona todos os comandos do arquivo especificado ao agendador |
void
|
await()
Aguarda a execução do programador, incluindo a espera pela conclusão da transferência da TF antiga, se aplicável. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Crie um delegante com base na linha de comando para saber se precisamos delegar a execução. |
void
|
completeHandover()
Informa ao programador de comandos que uma sequência de transferência iniciada foi totalmente concluída e que ele precisa inicializar o gerenciador remoto na porta padrão. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Crie um mapa do estado dos dispositivos para que eles possam ser liberados adequadamente. |
ISandbox
|
createSandbox()
Crie um |
void
|
displayCommandQueue(PrintWriter printWriter)
Mostra informações detalhadas de depuração sobre o estado da fila de execução de comandos. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Mostra uma lista dos comandos atuais. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Mostra uma lista das invocações atuais. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Faça o despejo do arquivo XML expandido para o comando com todos
os valores |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Executa o comando diretamente em um dispositivo já alocado. |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca um dispositivo diretamente e executa um comando sem adicioná-lo à fila de comandos
usando um |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca um dispositivo diretamente e executa um comando sem adicioná-lo à fila de comandos. |
CommandFileWatcher
|
getCommandFileWatcher()
Receba o |
int
|
getExecutingCommandCount()
Retorna o número de comandos no estado de execução. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Retorna as informações de uma invocação ao especificar o ID da invocação. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Retorna o código de erro da última invocação executada. |
Throwable
|
getLastInvocationThrowable()
Retorna o |
int
|
getReadyCommandCount()
Retorna o número de comandos no estado pronto na fila. |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
Informa ao programador de comandos que a troca inicial de dispositivos e comandos em uso foi concluída e que ele pode iniciar a programação da operação. |
boolean
|
handoverShutdown(int handoverPort)
Inicia um |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Remover todos os comandos do programador |
void
|
run()
O bloco de execução principal desta linha de execução. |
void
|
setClearcutClient(ClearcutClient client)
Configurar o cliente para informar dados do harness |
boolean
|
shouldShutdownOnCmdfileError()
Retorna verdadeiro se precisarmos encerrar o programador em um erro de comando |
void
|
shutdown()
Tente encerrar o programador de comandos de forma suave. |
void
|
shutdownHard(boolean killAdb)
Tenta encerrar o programador de comandos à força. |
void
|
shutdownHard()
Tenta encerrar o programador de comandos à força. |
void
|
shutdownOnEmpty()
Semelhante a |
void
|
start()
Inicia o programador, incluindo a configuração de geração de registros, a inicialização de |
boolean
|
stopInvocation(ITestInvocation invocation)
Interrompa uma invocação em execução. |
boolean
|
stopInvocation(int invocationId, String cause)
Para interromper uma invocação em execução, especifique o ID dela. |
Métodos protegidos | |
---|---|
void
|
cleanUp()
Fecha os registros e faz qualquer outra limpeza necessária antes de sair. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
Método de fábrica para receber uma referência ao |
IDeviceManager
|
getDeviceManager()
Método de fábrica para receber uma referência ao |
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
Busca um |
void
|
initLogging()
Inicializa o registro da ddmlib. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
Aguarde até que todas as linhas de execução de invocação sejam concluídas. |
Construtores públicos
CommandScheduler
public CommandScheduler ()
Cria um CommandScheduler
.
Observação: a chamada start precisa ser feita antes do uso.
Métodos públicos
addCommand
public boolean addCommand (String[] args)
Adiciona um comando ao programador.
Um comando é essencialmente uma instância de uma configuração a ser executada e os argumentos associados a ela.
Se o argumento "--help" for especificado, o texto de ajuda da configuração será enviado para o stdout. Caso contrário, a configuração será adicionada à fila para execução.
Parâmetros | |
---|---|
args |
String : os argumentos de configuração. |
Retorna | |
---|---|
boolean |
true se o comando foi adicionado |
Gera | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Adiciona todos os comandos do arquivo especificado ao agendador
Parâmetros | |
---|---|
cmdFilePath |
String : o caminho do sistema de arquivos do arquivo de comando |
extraArgs |
: um ERROR(/List) de argumentos String para anexar a cada comando analisado
em arquivo. Pode estar vazio, mas não pode ser nulo. |
Gera | |
---|---|
ConfigurationException |
await
public void await ()
Aguarda a execução do programador, incluindo a espera pela conclusão da transferência da TF antiga, se aplicável.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Crie um delegante com base na linha de comando para saber se precisamos delegar a execução.
Parâmetros | |
---|---|
args |
String |
Retorna | |
---|---|
TradefedDelegator |
Gera | |
---|---|
ConfigurationException |
completeHandover
public void completeHandover ()
Informa ao programador de comandos que uma sequência de transferência iniciada foi totalmente concluída e que ele precisa inicializar o gerenciador remoto na porta padrão.
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Crie um mapa do estado dos dispositivos para que eles possam ser liberados adequadamente.
Parâmetros | |
---|---|
context |
IInvocationContext |
e |
Throwable |
Retorna | |
---|---|
|
createSandbox
public ISandbox createSandbox ()
Crie um ISandbox
que a invocação vai usar para executar.
Retorna | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Mostra informações detalhadas de depuração sobre o estado da fila de execução de comandos.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Mostra uma lista dos comandos atuais.
Parâmetros | |
---|---|
printWriter |
PrintWriter : o ERROR(/PrintWriter) para saída. |
regex |
String : a expressão regular a que os comandos precisam ser correspondentes para serem
impressos. Se for nulo, todos os comandos serão impressos.
|
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Mostra uma lista das invocações atuais.
Parâmetros | |
---|---|
printWriter |
PrintWriter : o ERROR(/PrintWriter) para saída.
|
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Faz o despejo do 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 gerar o status. |
regex |
String : a expressão regular com que os comandos precisam ser correspondidos para que o
arquivo XML seja descartado. Se for nulo, todos os comandos serão descartados.
|
execCommand
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Executa o comando diretamente em um 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 |
Gera | |
---|---|
ConfigurationException |
execCommand
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca um dispositivo diretamente 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 |
Gera | |
---|---|
ConfigurationException |
|
NoDeviceException |
execCommand
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Aloca um dispositivo diretamente 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 |
Gera | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Receba o CommandFileWatcher
adequado para esse programador
Retorna | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Retorna o número de comandos no estado de execução.
Retorna | |
---|---|
int |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Retorna as informações de uma invocação ao especificar o ID da invocação.
Parâmetros | |
---|---|
invocationId |
int : o ID de rastreamento da invocação. |
Retorna | |
---|---|
String |
Um String que contém 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 tiver sido executada.
Retorna | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Retorna o Throwable
da última invocação executada.
Retorna nulo se nenhum throwable estiver disponível.
Retorna | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Retorna o número de comandos no estado pronto na fila.
Retorna | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
Retorna | |
---|---|
long |
handoverInitiationComplete
public void handoverInitiationComplete ()
Informa ao programador de comandos que a troca inicial de dispositivos e comandos em uso foi concluída e que ele pode iniciar a programação da operação.
handoverShutdown
public boolean handoverShutdown (int handoverPort)
Inicia um shutdown()
e a transferência para outro processo de tradefed no mesmo host.
O programador vai informar o processo de tradefed remoto que está na escuta nessa porta dos dispositivos liberados à medida que eles estiverem disponíveis.
Parâmetros | |
---|---|
handoverPort |
int |
Retorna | |
---|---|
boolean |
true se a inicialização da transferência foi bem-sucedida, false
caso contrário
|
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Parâmetros | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Remover todos os comandos do programador
run
public void run ()
O bloco de execução principal desta linha de execução.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Configurar o cliente para informar dados do harness
Parâmetros | |
---|---|
client |
ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Retorna verdadeiro se precisarmos encerrar o programador em um erro de comando
Retorna | |
---|---|
boolean |
encerramento
public void shutdown ()
Tente encerrar o programador de comandos de forma suave.
Limpa comandos que estão aguardando para serem testados e solicita que todas as invocações em andamento sejam encerradas corretamente.
Depois que o shutdown é chamado, o loop principal do programador aguarda a conclusão de todas as invocações em andamento antes de sair completamente.
shutdownHard
public void shutdownHard (boolean killAdb)
Tenta encerrar o programador de comandos à força.
Semelhante a shutdown()
, mas também encerra a conexão adb, opcionalmente, em uma
tentativa de "inspirar" as invocações em andamento para que sejam concluídas mais rapidamente.
Parâmetros | |
---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
Tenta encerrar o programador de comandos à força. O mesmo que shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
Semelhante a shutdown()
, mas aguarda a execução de todos os comandos
antes de sair.
Se algum comando estiver no modo de loop, o programador nunca será encerrado.
start
public void start ()
Inicia o programador, incluindo a configuração de geração de registros, a inicialização de DeviceManager
etc.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Interrompa uma invocação em execução.
Parâmetros | |
---|---|
invocation |
ITestInvocation |
Retorna | |
---|---|
boolean |
Verdadeiro se a invocação foi interrompida. Caso contrário, é falso. |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
Para interromper uma invocação em execução, especifique o ID dela.
Parâmetros | |
---|---|
invocationId |
int : o ID de rastreamento da invocação. |
cause |
String : a causa da interrupção da invocação. |
Retorna | |
---|---|
boolean |
Verdadeiro se a invocação foi interrompida. Caso contrário, é falso. |
Métodos protegidos
cleanUp
protected void cleanUp ()
Fecha os registros e faz qualquer outra limpeza necessária antes de sair.
Exposição para que os testes de unidade possam simular.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Parâmetros | |
---|---|
args |
String |
Retorna | |
---|---|
IConfiguration |
Gera | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
Retorna | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Método de fábrica para receber uma referência ao IConfigurationFactory
Retorna | |
---|---|
IConfigurationFactory |
o IConfigurationFactory a ser usado
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
Método de fábrica para receber uma referência ao IDeviceManager
Retorna | |
---|---|
IDeviceManager |
o IDeviceManager a ser usado
|
getHostOptions
protected IHostOptions getHostOptions ()
Retorna | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Busca um IKeyStoreClient
usando o IKeyStoreFactory
declarado em IGlobalConfiguration
ou nulo se nenhum for definido.
Retorna | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
initLogging
protected void initLogging ()
Inicializa o registro da ddmlib.
Exposição para que os testes de unidade possam simular.
isShutdown
protected boolean isShutdown ()
Retorna | |
---|---|
boolean |
isShuttingDown
protected boolean isShuttingDown ()
Retorna | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parâmetros | |
---|---|
manager |
IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Aguarde até que todas as linhas de execução de invocação sejam concluídas.