Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


Ein Planer zum Ausführen von TradeFederation-Befehlen auf allen verfügbaren Geräten.

Versucht, auszuführende Befehle basierend auf einer Gesamtzahl ihrer Ausführungszeit zu priorisieren. z. B. selten oder schnell ausgeführte Befehle werden gegenüber lang andauernden Befehlen priorisiert.

Läuft bis zum Herunterfahren für immer im Hintergrund.

Zusammenfassung

Verschachtelte Klassen

enum CommandScheduler.HostState

Enums mit unterschiedlichem Status des Hosts

Öffentliche Konstrukteure

CommandScheduler ()

Erstellt einen CommandScheduler .

Öffentliche Methoden

Pair <Boolean, Integer> addCommand (String[] args)

Fügt dem Planer einen Befehl hinzu.

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

Fügt dem Scheduler alle Befehle aus der angegebenen Datei hinzu

void await ()

Wartet darauf, dass der Planer zu laufen beginnt, einschließlich des Wartens auf den Abschluss der Übergabe von der alten TF, falls zutreffend.

static TradefedDelegator checkDelegation (String[] args)

Erstellen Sie einen Delegator basierend auf der Befehlszeile, um zu sehen, ob wir die Ausführung delegieren müssen.

static createReleaseMap ( IInvocationContext context, Throwable e)

Erstellen Sie eine Karte des Gerätestatus, damit sie entsprechend freigegeben werden können.

ISandbox createSandbox ()

Erstellen Sie eine ISandbox , die der Aufruf zum Ausführen verwendet.

void displayCommandQueue (PrintWriter printWriter)

Gibt detaillierte Debug-Informationen zum Status der Befehlsausführungswarteschlange aus.

void displayCommandsInfo (PrintWriter printWriter, String regex)

Gibt eine Liste der aktuellen Befehle aus.

void displayInvocationsInfo (PrintWriter printWriter)

Zeigt eine Liste der aktuellen Aufrufe an.

void dumpCommandsXml (PrintWriter printWriter, String regex)

Sichern Sie die erweiterte XML-Datei für den Befehl mit allen Option , die für alle aktuellen Befehle angegeben sind.

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

Weist ein Gerät direkt zu und führt einen Befehl aus, ohne ihn mithilfe eines bereits vorhandenen IInvocationContext zur Befehlswarteschlange hinzuzufügen.

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

Weist ein Gerät direkt zu und führt einen Befehl aus, ohne es der Befehlswarteschlange hinzuzufügen.

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

Befehl direkt auf bereits zugewiesenem Gerät ausführen.

CommandFileWatcher getCommandFileWatcher ()

Rufen Sie den entsprechenden CommandFileWatcher für diesen Scheduler ab

int getExecutingCommandCount ()

Gibt die Anzahl der Befehle im Ausführungsstatus zurück.

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

Geben Sie die Informationen zu einem Aufruf zurück, indem Sie die Aufruf-ID angeben.

CommandRunner.ExitCode getLastInvocationExitCode ()

Gibt den Fehlercode des zuletzt ausgeführten Aufrufs zurück.

Throwable getLastInvocationThrowable ()

Gibt das Throwable aus dem letzten ausgeführten Aufruf zurück.

int getReadyCommandCount ()

Gibt die Anzahl der Befehle im Bereitschaftszustand in der Warteschlange zurück.

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

Entfernen Sie alle Befehle aus dem Planer

void run ()

Der Hauptausführungsblock dieses Threads.

void setClearcutClient (ClearcutClient client)

Stellen Sie den Client so ein, dass er Kabelbaumdaten meldet

boolean shouldShutdownOnCmdfileError ()

Geben Sie true zurück, wenn wir den Scheduler bei einem Befehlsfehler herunterfahren müssen

void shutdown ()

Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.

void shutdownHard (boolean killAdb)

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren.

void shutdownHard ()

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren.

void shutdownOnEmpty ()

Ähnlich wie shutdown() , wartet aber stattdessen darauf, dass alle Befehle ausgeführt werden, bevor es beendet wird.

void start ()

Startet den Scheduler inkl. Einrichtung von Logging, Init von DeviceManager etc

boolean stopInvocation (int invocationId, String cause)

Stoppen Sie einen laufenden Aufruf, indem Sie seine ID angeben.

boolean stopInvocation ( ITestInvocation invocation)

Stoppen Sie einen laufenden Aufruf.

Geschützte Methoden

void cleanUp ()

Schließt die Protokolle und führt alle anderen notwendigen Bereinigungen durch, bevor wir beenden.

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

Factory-Methode zum Abrufen einer Referenz auf die IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

Factory-Methode zum Abrufen eines Verweises auf den IDeviceManager

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

Ruft einen IKeyStoreClient unter Verwendung der in IKeyStoreFactory deklarierten IGlobalConfiguration oder null ab, wenn keine definiert ist.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Initialisiert das ddmlib-Protokoll.

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

Warten Sie, bis alle Aufruf-Threads abgeschlossen sind.

Öffentliche Konstrukteure

CommandScheduler

public CommandScheduler ()

Erstellt einen CommandScheduler .

Hinweis: start muss vor der Verwendung aufgerufen werden.

Öffentliche Methoden

Befehl hinzufügen

public Pair<Boolean, Integer> addCommand (String[] args)

Fügt dem Planer einen Befehl hinzu.

Ein Befehl ist im Wesentlichen eine Instanz einer auszuführenden Konfiguration und der zugehörigen Argumente.

Wenn das Argument "--help" angegeben ist, wird der Hilfetext für die Konfiguration auf stdout ausgegeben. Andernfalls wird die Konfiguration zur Ausführung zur Warteschlange hinzugefügt.

Parameter
args String : die Konfigurationsargumente.

Kehrt zurück
Pair <Boolean, Integer> Ein Wertepaar, der erste Wert ist ein true Wert, wenn der Befehl erfolgreich hinzugefügt wurde. Der zweite Wert ist die bekannte Befehlsverfolgungs-ID (nicht negativer Wert), wenn der Befehl erfolgreich hinzugefügt wurde, geben Sie 0 zurück, wenn der Befehl für alle Geräte hinzugefügt wurde, andernfalls -1.

Wirft
ConfigurationException

Befehlsdatei hinzufügen

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Fügt dem Scheduler alle Befehle aus der angegebenen Datei hinzu

Parameter
cmdFilePath String : der Dateisystempfad der Befehlsdatei

extraArgs : ein ERROR(/List) von String -Argumenten, die an jeden aus der Datei geparsten Befehl angehängt werden sollen. Kann leer sein, sollte aber nicht null sein.

Wirft
ConfigurationException

erwarten

public void await ()

Wartet darauf, dass der Planer zu laufen beginnt, einschließlich des Wartens auf den Abschluss der Übergabe von der alten TF, falls zutreffend.

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

Erstellen Sie einen Delegator basierend auf der Befehlszeile, um zu sehen, ob wir die Ausführung delegieren müssen.

Parameter
args String

Kehrt zurück
TradefedDelegator

Wirft
ConfigurationException

ReleaseMap erstellen

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Erstellen Sie eine Karte des Gerätestatus, damit sie entsprechend freigegeben werden können.

Parameter
context IInvocationContext

e Throwable

Kehrt zurück

Sandbox erstellen

public ISandbox createSandbox ()

Erstellen Sie eine ISandbox , die der Aufruf zum Ausführen verwendet.

Kehrt zurück
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

Gibt detaillierte Debug-Informationen zum Status der Befehlsausführungswarteschlange aus.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Gibt eine Liste der aktuellen Befehle aus.

Parameter
printWriter PrintWriter : der ERROR(/PrintWriter) für die Ausgabe.

regex String : Der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollten, um gedruckt zu werden. Wenn null, werden alle Befehle gedruckt.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Zeigt eine Liste der aktuellen Aufrufe an.

Parameter
printWriter PrintWriter : der ERROR(/PrintWriter) für die Ausgabe.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Sichern Sie die erweiterte XML-Datei für den Befehl mit allen Option , die für alle aktuellen Befehle angegeben sind.

Parameter
printWriter PrintWriter : der ERROR(/PrintWriter) zum Ausgeben des Status.

regex String : Der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollten, damit die XML-Datei ausgegeben wird. Wenn null, werden alle Befehle ausgegeben.

execBefehl

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

Weist ein Gerät direkt zu und führt einen Befehl aus, ohne ihn mithilfe eines bereits vorhandenen IInvocationContext zur Befehlswarteschlange hinzuzufügen.

Parameter
context IInvocationContext : ein vorhandener IInvocationContext .

listener ICommandScheduler.IScheduledInvocationListener : der zu informierende ICommandScheduler.IScheduledInvocationListener

args String : die Befehlsargumente

Wirft
ConfigurationException
NoDeviceException

execBefehl

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

Weist ein Gerät direkt zu und führt einen Befehl aus, ohne es der Befehlswarteschlange hinzuzufügen.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : der zu informierende ICommandScheduler.IScheduledInvocationListener

args String : die Befehlsargumente

Wirft
ConfigurationException
NoDeviceException

execBefehl

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

Befehl direkt auf bereits zugewiesenem Gerät ausführen.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : der zu informierende ICommandScheduler.IScheduledInvocationListener

device ITestDevice : das zu verwendende ITestDevice

args String : die Befehlsargumente

Wirft
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Rufen Sie den entsprechenden CommandFileWatcher für diesen Scheduler ab

Kehrt zurück
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Gibt die Anzahl der Befehle im Ausführungsstatus zurück.

Kehrt zurück
int

getHostState

public CommandScheduler.HostState getHostState ()

Kehrt zurück
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Geben Sie die Informationen zu einem Aufruf zurück, indem Sie die Aufruf-ID angeben.

Parameter
invocationId int : die Tracking-ID des Aufrufs.

Kehrt zurück
String Ein String , der Informationen über den Aufruf enthält.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Gibt den Fehlercode des zuletzt ausgeführten Aufrufs zurück. Rückgabe 0 (kein Fehler), wenn noch kein Aufruf gelaufen ist.

Kehrt zurück
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Gibt das Throwable aus dem letzten ausgeführten Aufruf zurück. Gibt null zurück, wenn kein Throwable verfügbar ist.

Kehrt zurück
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Gibt die Anzahl der Befehle im Bereitschaftszustand in der Warteschlange zurück.

Kehrt zurück
int

getShutdownTimeout

public long getShutdownTimeout ()

Kehrt zurück
long

Benachrichtigungsdateigeändert

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parameter
cmdFile File

extraArgs

Alle Befehle entfernen

public void removeAllCommands ()

Entfernen Sie alle Befehle aus dem Planer

Lauf

public void run ()

Der Hauptausführungsblock dieses Threads.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Stellen Sie den Client so ein, dass er Kabelbaumdaten meldet

Parameter
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Geben Sie true zurück, wenn wir den Scheduler bei einem Befehlsfehler herunterfahren müssen

Kehrt zurück
boolean

stilllegen

public void shutdown ()

Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.

Löscht Befehle, die darauf warten, getestet zu werden, und fordert an, dass alle laufenden Aufrufe ordnungsgemäß beendet werden.

Nachdem das Herunterfahren aufgerufen wurde, wartet die Hauptschleife des Schedulers darauf, dass alle laufenden Aufrufe abgeschlossen sind, bevor sie vollständig beendet wird.

HerunterfahrenHart

public void shutdownHard (boolean killAdb)

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren.

Ähnlich wie shutdown() , beendet aber optional auch die adb-Verbindung, um zu versuchen, laufende Aufrufe zu „inspirieren“, schneller abzuschließen.

Parameter
killAdb boolean

HerunterfahrenHart

public void shutdownHard ()

Versuchen Sie, den Befehlsplaner zwangsweise herunterzufahren. Dasselbe wie shutdownHard(true).

ShutdownOnEmpty

public void shutdownOnEmpty ()

Ähnlich wie shutdown() , wartet aber stattdessen darauf, dass alle Befehle ausgeführt werden, bevor es beendet wird.

Beachten Sie, dass der Scheduler niemals beendet wird, wenn sich Befehle im Schleifenmodus befinden.

Anfang

public void start ()

Startet den Scheduler inkl. Einrichtung von Logging, Init von DeviceManager etc

stopAufruf

public boolean stopInvocation (int invocationId, 
                String cause)

Stoppen Sie einen laufenden Aufruf, indem Sie seine ID angeben.

Parameter
invocationId int : die Tracking-ID des Aufrufs.

cause String : die Ursache für das Stoppen des Aufrufs.

Kehrt zurück
boolean true, wenn der Aufruf gestoppt wurde, andernfalls false

stopAufruf

public boolean stopInvocation (ITestInvocation invocation)

Stoppen Sie einen laufenden Aufruf.

Parameter
invocation ITestInvocation

Kehrt zurück
boolean true, wenn der Aufruf gestoppt wurde, andernfalls false

Geschützte Methoden

Aufräumen

protected void cleanUp ()

Schließt die Protokolle und führt alle anderen notwendigen Bereinigungen durch, bevor wir beenden.

Offengelegt, damit Unit-Tests spotten können.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Parameter
args String

Kehrt zurück
IConfiguration

Wirft
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

Kehrt zurück
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Factory-Methode zum Abrufen einer Referenz auf die IConfigurationFactory

Kehrt zurück
IConfigurationFactory die zu verwendende IConfigurationFactory

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

Kehrt zurück
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

Factory-Methode zum Abrufen eines Verweises auf den IDeviceManager

Kehrt zurück
IDeviceManager der zu verwendende IDeviceManager

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Kehrt zurück
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Kehrt zurück
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Ruft einen IKeyStoreClient unter Verwendung der in IKeyStoreFactory deklarierten IGlobalConfiguration oder null ab, wenn keine definiert ist.

Kehrt zurück
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

Kehrt zurück
TestInvocationManagementServer

initLogging

protected void initLogging ()

Initialisiert das ddmlib-Protokoll.

Offengelegt, damit Unit-Tests spotten können.

istShutdown

protected boolean isShutdown ()

Kehrt zurück
boolean

isShuttingDown

protected boolean isShuttingDown ()

Kehrt zurück
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parameter
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Warten Sie, bis alle Aufruf-Threads abgeschlossen sind.