Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


Uno scheduler per l'esecuzione dei comandi TradeFederation su tutti i dispositivi disponibili.

Tenterà di assegnare la priorità ai comandi da eseguire in base al conteggio totale del tempo di esecuzione. ad esempio, comandi di esecuzione rari o veloci avranno la priorità rispetto ai comandi a esecuzione prolungata.

Funziona per sempre in background fino all'arresto.

Sommario

Classi annidate

enum CommandScheduler.HostState

Enumerazioni di stato diverso di host

Costruttori pubblici

CommandScheduler ()

Crea un CommandScheduler .

Metodi pubblici

boolean addCommand (String[] args)

Aggiunge un comando allo scheduler.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

Aggiunge tutti i comandi da un dato file allo scheduler

void await ()

Attende l'avvio dell'utilità di pianificazione, inclusa l'attesa del completamento della consegna dal vecchio TF, se applicabile.

static TradefedDelegator checkDelegation (String[] args)

Crea un delegatore basato sulla riga di comando per vedere se è necessario delegare l'esecuzione.

void completeHandover ()

Informa lo scheduler dei comandi che una sequenza di handover avviata è completamente completa e deve reinizializzare il proprio gestore remoto sulla porta predefinita.

static createReleaseMap (IInvocationContext context, Throwable e)

Creare una mappa dello stato dei dispositivi in ​​modo che possano essere rilasciati in modo appropriato.

ISandbox createSandbox ()

Crea un ISandbox che il richiamo utilizzerà per essere eseguito.

void displayCommandQueue (PrintWriter printWriter)

Emette informazioni di debug dettagliate sullo stato della coda di esecuzione del comando.

void displayCommandsInfo (PrintWriter printWriter, String regex)

Produce un elenco dei comandi correnti.

void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco delle chiamate correnti.

void dumpCommandsXml (PrintWriter printWriter, String regex)

Scarica il file xml espanso per il comando con tutti i valori di Option specificati per tutti i comandi correnti.

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda dei comandi utilizzando un IInvocationContext già esistente.

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda dei comandi.

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

Esegui direttamente il comando sul dispositivo già assegnato.

CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

int getExecutingCommandCount ()

Restituisce il numero di comandi in stato di esecuzione.

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

Restituisce le informazioni su un bu di invocazione specificando l'id di invocazione.

CommandRunner.ExitCode getLastInvocationExitCode ()

Restituisce il codice di errore dell'ultima chiamata eseguita.

Throwable getLastInvocationThrowable ()

Restituisci il Throwable dall'ultima invocazione eseguita.

int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

long getShutdownTimeout ()
void handoverInitiationComplete ()

Informa lo scheduler dei comandi che lo scambio iniziale di handover dei dispositivi e dei comandi in uso è completo e può iniziare la pianificazione dell'operazione.

boolean handoverShutdown (int handoverPort)

Avvia uno shutdown() e un passaggio di consegne a un altro processo scambiato sullo stesso host.

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

Rimuovi tutti i comandi dallo scheduler

void run ()

Il blocco di esecuzione principale di questo thread.

void setClearcutClient (ClearcutClient client)

Impostare il client per segnalare i dati di cablaggio

void setLastInvocationExitCode ( CommandRunner.ExitCode code, Throwable throwable)

Il metodo di CommandRunner , durante l'esecuzione in un contesto CommandRunner , imposta un codice di errore di uscita e un'analisi dello stack che può essere restituita.

boolean shouldShutdownOnCmdfileError ()

Restituisce true se è necessario arrestare lo scheduler in caso di errori di comando

void shutdown ()

Tenta di arrestare normalmente lo scheduler dei comandi.

void shutdownHard ()

Tentare di chiudere forzatamente lo scheduler dei comandi.

void shutdownOnEmpty ()

Simile a shutdown() , ma aspetterà invece che tutti i comandi vengano eseguiti prima di uscire.

void start ()

Avvia lo scheduler inclusa la configurazione della registrazione, l'inizializzazione di DeviceManager ecc

boolean stopInvocation (int invocationId, String cause)

Interrompere una chiamata in esecuzione specificando il suo ID.

boolean stopInvocation ( ITestInvocation invocation)

Interrompi una chiamata in esecuzione.

Metodi protetti

void cleanUp ()

Chiude i log ed esegue qualsiasi altra pulizia necessaria prima di uscire.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

Metodo di fabbrica per ottenere un riferimento a IConfigurationFactory

IDeviceManager getDeviceManager ()

Metodo di fabbrica per ottenere un riferimento a IDeviceManager

IKeyStoreClient getKeyStoreClient ()

Recupera un IKeyStoreClient utilizzando IKeyStoreFactory dichiarato in IGlobalConfiguration o null se nessuno è definito.

void initLogging ()

Inizializza il registro ddmlib.

boolean isShutdown ()
boolean isShuttingDown ()
void processReadyCommands ( IDeviceManager manager)
void waitForAllInvocationThreads ()

Attendi il completamento di tutti i thread di chiamata.

Costruttori pubblici

CommandScheduler

public CommandScheduler ()

Crea un CommandScheduler .

Nota: start deve essere chiamato prima dell'uso.

Metodi pubblici

addCommand

public boolean addCommand (String[] args)

Aggiunge un comando allo scheduler.

Un comando è essenzialmente un'istanza di una configurazione da eseguire e i suoi argomenti associati.

Se viene specificato l'argomento "--help", il testo della guida per la configurazione verrà inviato a stdout. Altrimenti, la configurazione verrà aggiunta alla coda per l'esecuzione.

Parametri
args String : gli argomenti di configurazione.

ritorna
boolean true se il comando è stato aggiunto correttamente

Lancia
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Aggiunge tutti i comandi da un dato file allo scheduler

Parametri
cmdFilePath String : il percorso del filesystem del file comand

extraArgs : un ERROR(/List) di argomenti String da aggiungere a ogni comando analizzato dal file. Può essere vuoto ma non deve essere nullo.

Lancia
ConfigurationException

attendere

public void await ()

Attende l'avvio dell'utilità di pianificazione, inclusa l'attesa del completamento della consegna dal vecchio TF, se applicabile.

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

Crea un delegatore basato sulla riga di comando per vedere se è necessario delegare l'esecuzione.

Parametri
args String

ritorna
TradefedDelegator

Lancia
ConfigurationException

completeHandover

public void completeHandover ()

Informa lo scheduler dei comandi che una sequenza di handover avviata è completamente completa e deve reinizializzare il proprio gestore remoto sulla porta predefinita.

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Creare una mappa dello stato dei dispositivi in ​​modo che possano essere rilasciati in modo appropriato.

Parametri
context IInvocationContext

e Throwable

ritorna

createSandbox

public ISandbox createSandbox ()

Crea un ISandbox che il richiamo utilizzerà per essere eseguito.

ritorna
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Emette informazioni di debug dettagliate sullo stato della coda di esecuzione del comando.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Produce un elenco dei comandi correnti.

Parametri
printWriter PrintWriter : l' ERROR(/PrintWriter) eseguire l'output.

regex String : l'espressione regolare a cui devono essere abbinati i comandi per essere stampati. Se null, verranno stampati tutti i comandi.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Visualizza un elenco delle chiamate correnti.

Parametri
printWriter PrintWriter : l' ERROR(/PrintWriter) eseguire l'output.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Scarica il file xml espanso per il comando con tutti i valori di Option specificati per tutti i comandi correnti.

Parametri
printWriter PrintWriter : l' ERROR(/PrintWriter) a cui inviare lo stato.

regex String : l'espressione regolare a cui devono essere abbinati i comandi per eseguire il dump del file xml. Se null, verranno scaricati tutti i comandi.

execCommand

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda dei comandi utilizzando un IInvocationContext già esistente.

Parametri
context IInvocationContext : un IInvocationContext esistente.

listener ICommandScheduler.IScheduledInvocationListener : l' ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

Lancia
ConfigurationException
NoDeviceException

execCommand

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

Alloca direttamente un dispositivo ed esegue un comando senza aggiungerlo alla coda dei comandi.

Parametri
listener ICommandScheduler.IScheduledInvocationListener : l' ICommandScheduler.IScheduledInvocationListener da informare

args String : gli argomenti del comando

Lancia
ConfigurationException
NoDeviceException

execCommand

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

Esegui direttamente il comando sul dispositivo già assegnato.

Parametri
listener ICommandScheduler.IScheduledInvocationListener : l' ICommandScheduler.IScheduledInvocationListener da informare

device ITestDevice : il ITestDevice da utilizzare

args String : gli argomenti del comando

Lancia
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Ottieni il CommandFileWatcher appropriato per questo scheduler

ritorna
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Restituisce il numero di comandi in stato di esecuzione.

ritorna
int

getHostState

public CommandScheduler.HostState getHostState ()

ritorna
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Restituisce le informazioni su un bu di invocazione specificando l'id di invocazione.

Parametri
invocationId int : il tracking id dell'invocazione.

ritorna
String Una String contenente informazioni sulla chiamata.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Restituisce il codice di errore dell'ultima chiamata eseguita. Restituisce 0 (nessun errore), se non è ancora stata eseguita alcuna chiamata.

ritorna
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Restituisci il Throwable dall'ultima invocazione eseguita. Restituisce null, se non è disponibile alcun throwable.

ritorna
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Restituisce il numero di comandi in stato pronto nella coda.

ritorna
int

getShutdownTimeout

public long getShutdownTimeout ()

ritorna
long

handoverInitiationComplete

public void handoverInitiationComplete ()

Informa lo scheduler dei comandi che lo scambio iniziale di handover dei dispositivi e dei comandi in uso è completo e può iniziare la pianificazione dell'operazione.

handoverShutdown

public boolean handoverShutdown (int handoverPort)

Avvia uno shutdown() e un passaggio di consegne a un altro processo scambiato sullo stesso host.

Lo scheduler informerà il processo di scambio remoto in ascolto su quella porta dei dispositivi liberati non appena saranno disponibili.

Parametri
handoverPort int

ritorna
boolean true se l'avvio del passaggio di consegne ha avuto successo, false altrimenti

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parametri
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Rimuovi tutti i comandi dallo scheduler

correre

public void run ()

Il blocco di esecuzione principale di questo thread.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Impostare il client per segnalare i dati di cablaggio

Parametri
client ClearcutClient

setLastInvocationExitCode

public void setLastInvocationExitCode (CommandRunner.ExitCode code, 
                Throwable throwable)

Il metodo di CommandRunner , durante l'esecuzione in un contesto CommandRunner , imposta un codice di errore di uscita e un'analisi dello stack che può essere restituita.

Parametri
code CommandRunner.ExitCode

throwable Throwable

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Restituisce true se è necessario arrestare lo scheduler in caso di errori di comando

ritorna
boolean

spegnimento

public void shutdown ()

Tenta di arrestare normalmente lo scheduler dei comandi.

Cancella i comandi in attesa di essere testati e richiede che tutte le chiamate in corso vengano chiuse correttamente.

Dopo che è stato chiamato l'arresto, il ciclo principale dello scheduler attenderà il completamento di tutte le chiamate in corso prima di uscire completamente.

shutdownHard

public void shutdownHard ()

Tentare di chiudere forzatamente lo scheduler dei comandi.

Simile a shutdown() , ma ucciderà anche forzatamente la connessione adb, nel tentativo di "ispirare" le invocazioni in corso per completare più rapidamente.

shutdownOnEmpty

public void shutdownOnEmpty ()

Simile a shutdown() , ma aspetterà invece che tutti i comandi vengano eseguiti prima di uscire.

Nota che se qualche comando è in modalità loop, lo scheduler non uscirà mai.

inizio

public void start ()

Avvia lo scheduler inclusa la configurazione della registrazione, l'inizializzazione di DeviceManager ecc

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

Interrompere una chiamata in esecuzione specificando il suo ID.

Parametri
invocationId int : l'id di tracciamento dell'invocazione.

cause String : la causa dell'arresto dell'invocazione.

ritorna
boolean true se l'invocazione è stata interrotta, false in caso contrario

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

Interrompi una chiamata in esecuzione.

Parametri
invocation ITestInvocation

ritorna
boolean true se l'invocazione è stata interrotta, false in caso contrario

Metodi protetti

pulire

protected void cleanUp ()

Chiude i log ed esegue qualsiasi altra pulizia necessaria prima di uscire.

Esposto in modo che i test unitari possano deridere.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Parametri
args String

ritorna
IConfiguration

Lancia
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

ritorna
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Metodo di fabbrica per ottenere un riferimento a IConfigurationFactory

ritorna
IConfigurationFactory la IConfigurationFactory da utilizzare

getDeviceManager

protected IDeviceManager getDeviceManager ()

Metodo di fabbrica per ottenere un riferimento a IDeviceManager

ritorna
IDeviceManager IDeviceManager da utilizzare

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Recupera un IKeyStoreClient utilizzando IKeyStoreFactory dichiarato in IGlobalConfiguration o null se nessuno è definito.

ritorna
IKeyStoreClient IKeyStoreClient

initLogging

protected void initLogging ()

Inizializza il registro ddmlib.

Esposto in modo che i test unitari possano deridere.

isShutdown

protected boolean isShutdown ()

ritorna
boolean

isShuttingDown

protected boolean isShuttingDown ()

ritorna
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parametri
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Attendi il completamento di tutti i thread di chiamata.