O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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

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

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

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 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 ()

Obtenha o CommandFileWatcher apropriado para este agendador

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 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 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 shutdown() e entrega para outro processo tradefed neste mesmo host.

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 shutdown() , mas aguardará que todos os comandos sejam executados antes de sair.

void start ()

Inicia o agendador, incluindo a configuração de log, inicialização do DeviceManager etc.

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 IConfigurationFactory

IDeviceManager getDeviceManager ()

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

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

Busca um IKeyStoreClient usando o IKeyStoreFactory declarado em IGlobalConfiguration ou null se nenhum estiver definido.

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 .

Nota: start deve ser chamado antes do uso.

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 : um 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 static  createReleaseMap (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.

O escalonador informará ao processo remoto negociado que está escutando nessa porta os dispositivos liberados assim que estiverem disponíveis.

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.

Observe que, se algum comando estiver em modo de loop, o agendador nunca 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.