CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


Harmonogram wykonywania poleceń TradeFederation na wszystkich dostępnych urządzeniach.

Spróbuje nadać priorytety poleceniom do wykonania na podstawie łącznej liczby ich uruchomień. Przykładowo rzadko używane lub szybko wykonywane polecenia będą miały wyższy priorytet niż polecenia wymagające długiego czasu wykonania.

Działa w tle do momentu wyłączenia.

Podsumowanie

Zagnieżdżone klasy

enum CommandScheduler.HostState

Enumy różnych stanów hosta

Konstruktory publiczne

CommandScheduler()

Tworzy CommandScheduler.

Metody publiczne

boolean addCommand(String[] args)

Dodaje polecenie do harmonogramu.

void addCommandFile(String cmdFilePath, extraArgs)

Dodaje do harmonogramu wszystkie polecenia z podanego pliku.

void await()

Czeka na rozpoczęcie działania algorytmu szeregowania, w tym na zakończenie przekazania od starego TF (jeśli to konieczne).

static TradefedDelegator checkDelegation(String[] args)

Utwórz delegującego na podstawie wiersza poleceń, aby sprawdzić, czy trzeba delegować wykonanie.

void completeHandover()

Informuje harmonogram sterowania, że rozpoczęta sekwencja przekazania została w pełni zakończona i że należy ponownie zainicjować zdalnego menedżera na domyślnym porcie.

static createReleaseMap(IInvocationContext context, Throwable e)

Utwórz mapę stanu urządzeń, aby można było je odpowiednio uwolnić.

ISandbox createSandbox()

Utwórz ISandbox, którego wywołanie będzie używane do wykonania.

void displayCommandQueue(PrintWriter printWriter)

Wyświetla szczegółowe informacje debugowania o stanie kolejki wykonania poleceń.

void displayCommandsInfo(PrintWriter printWriter, String regex)

Wyświetl listę bieżących poleceń.

void displayInvocationsInfo(PrintWriter printWriter)

Wyświetla listę bieżących wywołań.

void dumpCommandsXml(PrintWriter printWriter, String regex)

Wygeneruj rozszerzony plik XML polecenia ze wszystkimi wartościami Option określonymi dla wszystkich bieżących poleceń.

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

Wykonywanie polecenia bezpośrednio na już przypisanym urządzeniu.

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

Przydziela urządzenie bezpośrednio i wykonuje polecenie bez dodawania go do kolejki poleceń za pomocą już istniejącego IInvocationContext.

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

Przypisuje urządzenie bezpośrednio i wykonuje polecenie bez dodawania go do kolejki poleceń.

CommandFileWatcher getCommandFileWatcher()

Pobierz odpowiedni CommandFileWatcher dla tego harmonogramu

int getExecutingCommandCount()

Zwraca liczbę poleceń w stanie wykonywania.

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

Zwraca informacje o wywołaniu, podając jego identyfikator.

CommandRunner.ExitCode getLastInvocationExitCode()

Zwraca kod błędu ostatniego wywołania.

Throwable getLastInvocationThrowable()

Zwraca Throwable z ostatniego wywołania.

int getReadyCommandCount()

Zwraca liczbę poleceń w stanie gotowości w kole.

long getShutdownTimeout()
void handoverInitiationComplete()

Informuje planistę poleceń, że początkowa wymiana danych urządzeń i poleceń została zakończona i można rozpocząć planowanie operacji.

boolean handoverShutdown(int handoverPort)

Inicjowanie shutdown() i przekazywanie do innego procesu tradefed w tym samym hostie.

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

Usuń wszystkie polecenia z harmonogramu

void run()

Główny blok kodu tego wątku.

void setClearcutClient(ClearcutClient client)

Konfigurowanie klienta do raportowania danych z harness

boolean shouldShutdownOnCmdfileError()

Zwraca wartość Prawda, jeśli musimy wyłączyć harmonogramistę z powodu błędów poleceń.

void shutdown()

Próba płynnego wyłączenia algorytmu planowania poleceń.

void shutdownHard(boolean killAdb)

Spróbuj wymusić zamknięcie harmonogramu poleceń.

void shutdownHard()

Spróbuj wymusić zamknięcie harmonogramu poleceń.

void shutdownOnEmpty()

Podobnie jak w przypadku polecenia shutdown(), ale z tym, że przed zakończeniem zaczeka na wykonanie wszystkich poleceń.

void start()

Uruchamia harmonogram, w tym konfigurację rejestrowania, inicjowanie DeviceManager itp.

boolean stopInvocation(ITestInvocation invocation)

Zatrzymanie bieżącego wywołania.

boolean stopInvocation(int invocationId, String cause)

Zatrzymaj bieżące wywołanie, podając jego identyfikator.

Chronione metody

void cleanUp()

Zamyka dzienniki i wykonuje inne niezbędne czynności porządkujące przed zakończeniem.

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

Metoda fabryczna służąca do uzyskiwania odwołania do obiektu IConfigurationFactory

IDeviceManager getDeviceManager()

Metoda fabryczna służąca do uzyskiwania odwołania do obiektu IDeviceManager

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

Pobiera wartość IKeyStoreClient za pomocą parametru IKeyStoreFactory zadeklarowanego w IGlobalConfiguration lub null, jeśli nie ma zdefiniowanego parametru.

void initLogging()

Inicjowanie dziennika ddmlib.

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

Zaczekaj na zakończenie wszystkich wątków wywołania.

Konstruktory publiczne

CommandScheduler

public CommandScheduler ()

Tworzy CommandScheduler.

Uwaga: przed użyciem należy wywołać metodę start.

Metody publiczne

addCommand

public boolean addCommand (String[] args)

Dodaje polecenie do harmonogramu.

Polecenie to zasadniczo instancja konfiguracji do uruchomienia i powiązanych z nią argumentów.

Jeśli podano argument „--help”, tekst pomocy dla konfiguracji zostanie wyświetlony na wyjściu standardowym. W przeciwnym razie konfiguracja zostanie dodana do kolejki do uruchomienia.

Parametry
args String: argumenty konfiguracji.

Zwroty
boolean true, jeśli polecenie zostało dodane,

Rzuty
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Dodaje do harmonogramu wszystkie polecenia z podanego pliku.

Parametry
cmdFilePath String: ścieżka do pliku poleceń w systemie plików

extraArgs : tablica ERROR(/List) argumentów String do dołączenia do każdego polecenia przeanalizowanego z pliku. Może być puste, ale nie powinno być puste.

Rzuty
ConfigurationException

await

public void await ()

Czeka na rozpoczęcie działania algorytmu szeregowania, w tym na zakończenie przekazania od starego TF (jeśli to konieczne).

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

Utwórz delegującego na podstawie wiersza poleceń, aby sprawdzić, czy trzeba delegować wykonanie.

Parametry
args String

Zwroty
TradefedDelegator

Rzuty
ConfigurationException

completeHandover

public void completeHandover ()

Informuje harmonogram sterowania, że rozpoczęta sekwencja przekazania została w pełni zakończona i że należy ponownie zainicjować zdalnego menedżera na domyślnym porcie.

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Utwórz mapę stanu urządzeń, aby można było je odpowiednio uwolnić.

Parametry
context IInvocationContext

e Throwable

Zwroty

createSandbox

public ISandbox createSandbox ()

Utwórz ISandbox, którego wywołanie będzie używane do wykonania.

Zwroty
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Wyświetla szczegółowe informacje debugowania o stanie kolejki wykonania poleceń.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Wyświetl listę bieżących poleceń.

Parametry
printWriter PrintWriter: ERROR(/PrintWriter) do wyprowadzenia.

regex String: wyrażenie regularne, do którego muszą pasować polecenia, aby mogły zostać wydrukowane. Jeśli jest to wartość null, zostaną wydrukowane wszystkie polecenia.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Wyświetla listę bieżących wywołań.

Parametry
printWriter PrintWriter: ERROR(/PrintWriter) do wyprowadzenia.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Wygeneruj rozszerzony plik XML polecenia ze wszystkimi wartościami Option określonymi dla wszystkich bieżących poleceń.

Parametry
printWriter PrintWriter: ERROR(/PrintWriter), do którego ma być wyprowadzany stan.

regex String: wyrażenie regularne, z którym powinny być zgodne polecenia, aby można było zdumpować plik XML. Jeśli jest to wartość null, zostaną wypisane wszystkie polecenia.

execCommand

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

Wykonywanie polecenia bezpośrednio na już przypisanym urządzeniu.

Parametry
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, aby poinformować

device ITestDevice: ITestDevice do użycia

args String: argumenty polecenia

Rzuty
ConfigurationException

execCommand

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

Przydziela urządzenie bezpośrednio i wykonuje polecenie bez dodawania go do kolejki poleceń za pomocą już istniejącego IInvocationContext.

Parametry
context IInvocationContext: istniejący IInvocationContext.

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, aby poinformować

args String: argumenty polecenia

Rzuty
ConfigurationException
NoDeviceException

execCommand

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

Przypisuje urządzenie bezpośrednio i wykonuje polecenie bez dodawania go do kolejki poleceń.

Parametry
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener, aby poinformować

args String: argumenty polecenia

Rzuty
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Pobierz odpowiedni CommandFileWatcher dla tego harmonogramu

Zwroty
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Zwraca liczbę poleceń w stanie wykonywania.

Zwroty
int

getHostState

public CommandScheduler.HostState getHostState ()

Zwroty
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Zwraca informacje o wywołaniu, podając jego identyfikator.

Parametry
invocationId int: identyfikator śledzenia wywołania.

Zwroty
String String zawierający informacje o wywoływaniu.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Zwraca kod błędu ostatniego wywołania. Zwraca wartość 0 (brak błędu), jeśli żadne wywołanie nie zostało jeszcze wykonane.

Zwroty
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Zwraca wartość Throwable z ostatniego wywołania. Zwraca wartość null, jeśli nie ma dostępnych obiektów rzucalnych.

Zwroty
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Zwraca liczbę poleceń w stanie gotowości w kole.

Zwroty
int

getShutdownTimeout

public long getShutdownTimeout ()

Zwroty
long

handoverInitiationComplete

public void handoverInitiationComplete ()

Informuje planistę poleceń, że początkowa wymiana danych urządzeń i poleceń została zakończona i można rozpocząć planowanie operacji.

handoverShutdown

public boolean handoverShutdown (int handoverPort)

Inicjowanie shutdown() i przekazywanie do innego procesu tradefed w tym samym hostie.

W miarę ich pojawiania się harmonogram poinformuje proces zdalnego przetwarzania danych, który nasłuchuje na tym porcie, o dostępnych urządzeniach.

Parametry
handoverPort int

Zwroty
boolean true, jeśli przekazanie zostało zainicjowane i udało się, falsew przeciwnym razie

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parametry
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Usuń wszystkie polecenia z harmonogramu

home run

public void run ()

Główny blok kodu tego wątku.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Konfigurowanie klienta do raportowania danych z harness

Parametry
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Zwraca wartość Prawda, jeśli musimy wyłączyć harmonogramistę z powodu błędów poleceń.

Zwroty
boolean

wyłączenie

public void shutdown ()

Próba płynnego wyłączenia algorytmu planowania poleceń.

Czyści polecenia oczekujące na przetestowanie i prosi o zakończenie wszystkich wywołań w trakcie.

Po wywołaniu metody shutdown pętla główna harmonogramu zaczeka, aż wszystkie trwające wywołania zostaną zakończone, a dopiero potem zakończy działanie.

shutdownHard

public void shutdownHard (boolean killAdb)

Spróbuj wymusić zamknięcie harmonogramu poleceń.

Podobnie jak w przypadku shutdown(), ale w tym przypadku opcjonalnie kończy też połączenie adb, aby w miarę możliwości przyspieszyć proces wywoływania.

Parametry
killAdb boolean

shutdownHard

public void shutdownHard ()

Spróbuj wymusić zamknięcie harmonogramu poleceń. To samo co shutdownHard(true).

shutdownOnEmpty

public void shutdownOnEmpty ()

Podobnie jak w przypadku polecenia shutdown(), ale z tym, że przed zakończeniem zaczeka na wykonanie wszystkich poleceń.

Pamiętaj, że jeśli jakiekolwiek polecenia są w pętli, harmonogram nigdy się nie zakończy.

rozpocznij

public void start ()

Uruchamia harmonogram, w tym konfigurację rejestrowania, inicjowanie DeviceManager itp.

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

Zatrzymanie bieżącego wywołania.

Parametry
invocation ITestInvocation

Zwroty
boolean wartość true, jeśli wywołanie zostało zatrzymane, w przeciwnym razie wartość false

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

Zatrzymaj bieżące wywołanie, podając jego identyfikator.

Parametry
invocationId int: identyfikator śledzenia wywołania.

cause String: przyczyna zatrzymania wywołania.

Zwroty
boolean wartość true, jeśli wywołanie zostało zatrzymane, w przeciwnym razie wartość false

Chronione metody

cleanUp

protected void cleanUp ()

Zamyka dzienniki i wykonuje inne niezbędne czynności porządkujące przed zakończeniem.

Wyeksponowane, aby można było je zasymulować w testach jednostkowych.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Parametry
args String

Zwroty
IConfiguration

Rzuty
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

Zwroty
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Metoda fabryczna służąca do uzyskiwania odwołania do obiektu IConfigurationFactory

Zwroty
IConfigurationFactory IConfigurationFactory do użycia

getDeviceManager

protected IDeviceManager getDeviceManager ()

Metoda fabryczna służąca do uzyskiwania odwołania do obiektu IDeviceManager

Zwroty
IDeviceManager IDeviceManager do użycia

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Zwroty
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Zwroty
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Pobiera wartość IKeyStoreClient za pomocą parametru IKeyStoreFactory zadeklarowanego w IGlobalConfiguration lub null, jeśli nie ma zdefiniowanego parametru.

Zwroty
IKeyStoreClient IKeyStoreClient

initLogging

protected void initLogging ()

Inicjowanie dziennika ddmlib.

Wyeksponowane, aby można było je zasymulować w testach jednostkowych.

isShutdown

protected boolean isShutdown ()

Zwroty
boolean

isShuttingDown

protected boolean isShuttingDown ()

Zwroty
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parametry
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Zaczekaj na zakończenie wszystkich wątków wywołania.