CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
   ↳ com.android.tradefed.command.CommandScheduler


Um programador para executar comandos do TradeFederation em todos os dispositivos disponíveis.

Tentará priorizar os comandos a serem executados com base em uma contagem total da sua execução tempo de resposta. Por exemplo: Comandos infrequentes ou de execução rápida serão priorizados em relação aos comandos de longa duração.

É executado indefinidamente em segundo plano até a desativação.

Resumo

Classes aninhadas

enum CommandScheduler.HostState

Enumerações 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 de um arquivo fornecido ao programador

void await()

Aguarda a execução do programador, inclusive a conclusão da transferência do TF antigo se aplicável.

static TradefedDelegator checkDelegation(String[] args)

Crie um delegador com base na linha de comando para ver se precisamos delegar a execução.

void completeHandover()

Informa o programador de comando que uma sequência de transferência iniciada está totalmente completa e deve reinicializar o gerenciador remoto na porta padrão.

static createReleaseMap(IInvocationContext context, Throwable e)

Crie um mapa do estado dos dispositivos para liberá-los adequadamente.

ISandbox createSandbox()

Crie um ISandbox que será executado pela invocação.

void displayCommandQueue(PrintWriter printWriter)

Informações de depuração detalhadas de saída sobre o estado da fila de execução de comandos.

void displayCommandsInfo(PrintWriter printWriter, String regex)

Gera uma lista dos 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 todas as Valores Option especificados para todos os comandos atuais.

void execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)

Executa diretamente o comando em um 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 IInvocationContext já existente.

void execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)

Aloca diretamente um dispositivo e executa um comando sem adicioná-lo à fila de comandos.

CommandFileWatcher getCommandFileWatcher()

Receber o CommandFileWatcher apropriado para este agendador

int getExecutingCommandCount()

Retorna o número de comandos no estado de execução.

CommandScheduler.HostState getHostState()
String getInvocationInfo(int invocationId)

Retorne as informações em uma bu de invocação especificando o ID dela.

CommandRunner.ExitCode getLastInvocationExitCode()

Retorne o código de erro da última invocação que foi executada.

Throwable getLastInvocationThrowable()

Retorne o Throwable da última invocação que foi executada.

int getReadyCommandCount()

Retorna o número de comandos em estado pronto na fila.

long getShutdownTimeout()
void handoverInitiationComplete()

Informa o programador de comando que a troca inicial de entrega de dispositivos e comandos em uso está concluída e pode começar a programar a operação.

boolean handoverShutdown(int handoverPort)

Inicia um shutdown() e a entrega para outro processo negociado no mesmo host.

void notifyFileChanged(File cmdFile, extraArgs)
void removeAllCommands()

Remover todos os comandos do programador

void run()

O principal bloco de execução dessa linha de execução.

void setClearcutClient(ClearcutClient client)

Configurar o cliente para relatar os dados do arcabouço

boolean shouldShutdownOnCmdfileError()

Retornar verdadeiro se for necessário encerrar o programador em um erro de comando

void shutdown()

Tenta encerrar normalmente o programador de comando.

void shutdownHard(boolean killAdb)

Tentativa de encerrar à força o programador de comando.

void shutdownHard()

Tentativa de encerrar à força o programador de comando.

void shutdownOnEmpty()

Semelhante a shutdown(), mas aguardará todos os comandos serem executados antes de sair.

void start()

Inicia o programador, incluindo a configuração da geração de registros, o init do DeviceManager etc.

boolean stopInvocation(ITestInvocation invocation)

Interrompe uma invocação em execução.

boolean stopInvocation(int invocationId, String cause)

Especifique o ID de uma invocação em execução para interrompê-la.

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 acessar uma referência ao IConfigurationFactory

IDeviceManager getDeviceManager()

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

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

Busca um IKeyStoreClient usando IKeyStoreFactory. declarado em IGlobalConfiguration ou nulo, se nenhuma estiver definida.

void initLogging()

Inicializa o registro 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: start precisa ser chamado 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 "--ajuda" é especificado o texto de ajuda de a configuração será gerada em stdout. Caso contrário, a configuração será adicionada à fila para correr.

Parâmetros
args String: os argumentos de configuração.

Retorna
boolean true se o comando tiver sido adicionado

Gera
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Adiciona todos os comandos de um arquivo fornecido ao programador

Parâmetros
cmdFilePath String: o caminho do sistema de arquivos do arquivo de comando

extraArgs : um ERROR(/List) de String argumentos para anexar a cada comando analisado. do arquivo. Pode estar vazio, mas não deve ser nulo.

Gera
ConfigurationException

esperam

public void await ()

Aguarda a execução do programador, inclusive a conclusão da transferência do TF antigo se aplicável.

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

Crie um delegador com base na linha de comando para ver se precisamos delegar a execução.

Parâmetros
args String

Retorna
TradefedDelegator

Gera
ConfigurationException

Transição completa

public void completeHandover ()

Informa o programador de comando que uma sequência de transferência iniciada está totalmente completa e deve reinicializar o gerenciador remoto na porta padrão.

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Crie um mapa do estado dos dispositivos para liberá-los adequadamente.

Parâmetros
context IInvocationContext

e Throwable

Retorna

criar sandbox

public ISandbox createSandbox ()

Crie um ISandbox que será executado pela invocação.

Retorna
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Informações de depuração detalhadas de saída sobre o estado da fila de execução de comandos.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Gera uma lista dos comandos atuais.

Parâmetros
printWriter PrintWriter: o ERROR(/PrintWriter) de saída.

regex String: a expressão regular que corresponde aos comandos para serem impresso. Se for nulo, todos os comandos serão mostrados.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Exibe uma lista de invocações atuais.

Parâmetros
printWriter PrintWriter: o ERROR(/PrintWriter) de saída.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Despeje o arquivo XML expandido para o comando com todas as Valores Option especificados para todos os comandos atuais.

Parâmetros
printWriter PrintWriter: o ERROR(/PrintWriter) que vai receber o status.

regex String: a expressão regular a que os comandos precisam ser correspondentes para que o XML a ser despejado. Se for nulo, todos os comandos serão despejados.

"execCommand"

public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                ITestDevice device, 
                String[] args)

Executa diretamente o comando 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 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.

Gera
ConfigurationException
NoDeviceException

"execCommand"

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.

Gera
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Receber o CommandFileWatcher apropriado para este agendador

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)

Retorne as informações em uma bu de invocação especificando o ID dela.

Parâmetros
invocationId int: o ID de acompanhamento da invocação.

Retorna
String Um String contendo informações sobre a invocação.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Retorne o código de erro da última invocação que foi executada. Retorne 0 (sem erro) se nenhuma invocação tiver sido executada ainda.

Retorna
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Retorne o Throwable da última invocação que foi executada. Retorna nulo, se nenhum throwable estiver disponível.

Retorna
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Retorna o número de comandos em estado pronto na fila.

Retorna
int

getShutdownTimeout

public long getShutdownTimeout ()

Retorna
long

handoverInitiationComplete

public void handoverInitiationComplete ()

Informa o programador de comando que a troca inicial de entrega de dispositivos e comandos em uso está concluída e pode começar a programar a operação.

handoverShutdown

public boolean handoverShutdown (int handoverPort)

Inicia um shutdown() e a entrega para outro processo negociado no mesmo host.

O programador vai informar ao processo de negociação remota que detecta essa porta de dispositivos liberados conforme eles são disponibilizados.

Parâmetros
handoverPort int

Retorna
boolean true se o início da transição tiver sido bem-sucedido, false caso contrário

notificarFileChanged

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 principal bloco de execução dessa linha de execução.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Configurar o cliente para relatar os dados do arcabouço

Parâmetros
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Retornar verdadeiro se for necessário encerrar o programador em um erro de comando

Retorna
boolean

encerramento

public void shutdown ()

Tenta encerrar normalmente o programador de comando.

Limpa os comandos que aguardam testes e solicita que todas as invocações em andamento desligar normalmente.

Depois que o encerramento for chamado, o loop principal do programador aguardará todas as invocações em andamento ser concluída antes de encerrar completamente.

desligamentoHard

public void shutdownHard (boolean killAdb)

Tentativa de encerrar à força o programador de comando.

Semelhante a shutdown(), mas também opcionalmente elimina a conexão adb, em uma tentar "inspirar" invocações em andamento para que sejam concluídas mais rapidamente.

Parâmetros
killAdb boolean

desligamentoHard

public void shutdownHard ()

Tentativa de encerrar à força o programador de comando. O mesmo que closeddownHard(true).

launchdownOnEmpty

public void shutdownOnEmpty ()

Semelhante a shutdown(), mas aguardará todos os comandos serem executados antes de sair.

Se algum comando estiver em modo de loop, o programador nunca será encerrado.

start

public void start ()

Inicia o programador, incluindo a configuração da geração de registros, o init do DeviceManager etc.

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

Interrompe uma invocação em execução.

Parâmetros
invocation ITestInvocation

Retorna
boolean verdadeiro se a invocação tiver sido interrompida, falso caso contrário

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

Especifique o ID de uma invocação em execução para interrompê-la.

Parâmetros
invocationId int: o ID de acompanhamento da invocação.

cause String: a causa da interrupção da invocação.

Retorna
boolean verdadeiro se a invocação tiver sido interrompida, falso caso contrário

Métodos protegidos

limpeza

protected void cleanUp ()

Fecha os registros e faz qualquer outra limpeza necessária antes de sair.

Exposto 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 acessar uma referência ao IConfigurationFactory

Retorna
IConfigurationFactory o IConfigurationFactory para usar

getDeviceManager

protected IDeviceManager getDeviceManager ()

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

Retorna
IDeviceManager o IDeviceManager para usar

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Retorna
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Retorna
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Busca um IKeyStoreClient usando IKeyStoreFactory. declarado em IGlobalConfiguration ou nulo, se nenhuma estiver definida.

Retorna
IKeyStoreClient ClienteIKeyStoreClient

initLogging

protected void initLogging ()

Inicializa o registro ddmlib.

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