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 CommandScheduler.

Métodos públicos

boolean addCommand(String[] args)

Adiciona um comando ao programador.

void addCommandFile(String cmdFilePath, extraArgs)

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 ISandbox que a invocação vai usar para executar.

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 Option especificados para todos os comandos atuais.

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 IInvocationContext já existente.

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 CommandFileWatcher adequado para esse programador

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 Throwable da última invocação executada.

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 shutdown() e a transferência para outro processo de tradefed no mesmo host.

void notifyFileChanged(File cmdFile, extraArgs)
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 shutdown(), mas aguarda a execução de todos os comandos antes de sair.

void start()

Inicia o programador, incluindo a configuração de geração de registros, a inicialização de DeviceManager etc.

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 IConfigurationFactory

IDeviceManager getDeviceManager()

Método de fábrica para receber uma referência ao IDeviceManager

TradefedFeatureServer getFeatureServer()
IHostOptions getHostOptions()
IKeyStoreClient getKeyStoreClient()

Busca um IKeyStoreClient usando o IKeyStoreFactory declarado em IGlobalConfiguration ou nulo se nenhum for definido.

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 static  createReleaseMap (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

getHostState

public CommandScheduler.HostState getHostState ()

Retorna
CommandScheduler.HostState

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

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Retorna
TradefedFeatureServer

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.