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 der Gesamtzahl ihrer Ausführungen zu priorisieren . z.B. Selten ausgeführte oder schnell ausgeführte Befehle werden gegenüber Befehlen mit langer Ausführungszeit priorisiert.
Wird bis zum Herunterfahren dauerhaft im Hintergrund ausgeführt.
Zusammenfassung
Verschachtelte Klassen | |
---|---|
enum |
CommandScheduler.HostState
Aufzählungen mit unterschiedlichem Status des Hosts |
Öffentliche Konstruktoren | |
---|---|
CommandScheduler()
Erstellt ein |
Öffentliche Methoden | |
---|---|
boolean
|
addCommand(String[] args)
Fügt dem Planer einen Befehl hinzu. |
void
|
addCommandFile(String cmdFilePath,
Fügt dem Planer alle Befehle aus der angegebenen Datei hinzu |
void
|
await()
Wartet, bis der Planer ausgeführt wird, einschließlich Warten auf den Abschluss der Übergabe der alten TF falls zutreffend. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Erstellen Sie einen Delegator anhand der Befehlszeile, um zu sehen, ob wir die Ausführung delegieren müssen. |
void
|
completeHandover()
Informiert den Befehlsplaner, dass eine initiierte Handover-Sequenz vollständig abgeschlossen ist, und sollte seinen Remote Manager am Standardport neu initialisieren. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Erstellen Sie eine Karte des Gerätestatus, damit sie entsprechend freigegeben werden können. |
ISandbox
|
createSandbox()
Erstellen Sie ein |
void
|
displayCommandQueue(PrintWriter printWriter)
Gibt detaillierte Debug-Informationen zum Status der Warteschlange für die Befehlsausführung 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)
Speichern Sie die erweiterte XML-Datei für den Befehl mit allen
|
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Befehl direkt auf einem bereits zugewiesenen Gerät ausführen. |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Ordnet ein Gerät direkt zu und führt einen Befehl aus, ohne es der Befehlswarteschlange hinzuzufügen
mit einer bereits vorhandenen |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Ordnet ein Gerät direkt zu und führt einen Befehl aus, ohne es der Befehlswarteschlange hinzuzufügen. |
CommandFileWatcher
|
getCommandFileWatcher()
Entsprechenden |
int
|
getExecutingCommandCount()
Gibt die Anzahl der Befehle im Ausführungsstatus zurück. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Gibt die Informationen zu einem Aufruf zurück, indem die Aufruf-ID angegeben wird. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Gibt den Fehlercode des letzten ausgeführten Aufrufs zurück. |
Throwable
|
getLastInvocationThrowable()
Gibt das |
int
|
getReadyCommandCount()
Gibt die Anzahl der Befehle im Status „Bereit“ in der Warteschlange zurück. |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
Informiert den Befehlsplaner über den ersten Handover-Austausch der verwendeten Geräte und Befehle abgeschlossen ist und mit der Planung beginnen kann. |
boolean
|
handoverShutdown(int handoverPort)
Initiiert ein |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Alle Befehle aus dem Planer entfernen |
void
|
run()
Der Hauptausführungsblock dieses Threads. |
void
|
setClearcutClient(ClearcutClient client)
Den Kunden für die Berichterstellung über die Nutzungsdaten einrichten |
boolean
|
shouldShutdownOnCmdfileError()
Gibt „true“ zurück, wenn der Planer bei einem Befehlsfehler heruntergefahren werden muss |
void
|
shutdown()
Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren. |
void
|
shutdownHard(boolean killAdb)
Versuchen Sie, das Herunterfahren des Befehlsplaners zu erzwingen. |
void
|
shutdownHard()
Versuchen Sie, das Herunterfahren des Befehlsplaners zu erzwingen. |
void
|
shutdownOnEmpty()
Ähnlich wie „ |
void
|
start()
Startet den Planer, einschließlich Einrichten von Logging, Initialisierung von |
boolean
|
stopInvocation(ITestInvocation invocation)
Beenden Sie einen laufenden Aufruf. |
boolean
|
stopInvocation(int invocationId, String cause)
Beenden Sie einen laufenden Aufruf, indem Sie seine ID angeben. |
Geschützte Methoden | |
---|---|
void
|
cleanUp()
Schließt die Protokolle und führt alle anderen erforderlichen Bereinigungen durch, bevor wir den Vorgang beenden. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
Factory-Methode zum Abrufen eines Verweises auf |
IDeviceManager
|
getDeviceManager()
Factory-Methode zum Abrufen eines Verweises auf |
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
Ruft ein |
void
|
initLogging()
Initialisiert das ddmlib-Log. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
Warten Sie, bis alle Aufruf-Threads abgeschlossen sind. |
Öffentliche Konstruktoren
CommandScheduler
public CommandScheduler ()
Erstellt ein CommandScheduler
.
Hinweis: start muss vor der Verwendung aufgerufen werden.
Öffentliche Methoden
Befehl hinzufügen
public boolean 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 "--help" Argument ist der Hilfetext für wird die Konfiguration in stdout ausgegeben. Andernfalls wird die Konfiguration zur Warteschlange hinzugefügt, ausführen.
Parameter | |
---|---|
args |
String : die Konfigurationsargumente |
Returns | |
---|---|
boolean |
true , wenn der Befehl hinzugefügt wurde |
Ausgabe | |
---|---|
ConfigurationException |
addCommandFile (Befehlsdatei)
public void addCommandFile (String cmdFilePath,extraArgs)
Fügt dem Planer alle Befehle aus der angegebenen Datei hinzu
Parameter | |
---|---|
cmdFilePath |
String : der Dateisystempfad der comand-Datei |
extraArgs |
: ERROR(/List) von String -Argumenten, die an jeden geparsten Befehl angehängt werden sollen
aus Datei. Kann leer, aber nicht null sein. |
Ausgabe | |
---|---|
ConfigurationException |
warten
public void await ()
Wartet, bis der Planer ausgeführt wird, einschließlich Warten auf den Abschluss der Übergabe der alten TF falls zutreffend.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Erstellen Sie einen Delegator anhand der Befehlszeile, um zu sehen, ob wir die Ausführung delegieren müssen.
Parameter | |
---|---|
args |
String |
Returns | |
---|---|
TradefedDelegator |
Ausgabe | |
---|---|
ConfigurationException |
vollständige Übergabe
public void completeHandover ()
Informiert den Befehlsplaner, dass eine initiierte Handover-Sequenz vollständig abgeschlossen ist, und sollte seinen Remote Manager am Standardport neu initialisieren.
createReleaseMap-
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Erstellen Sie eine Karte des Gerätestatus, damit sie entsprechend freigegeben werden können.
Parameter | |
---|---|
context |
IInvocationContext |
e |
Throwable |
Returns | |
---|---|
|
Sandbox erstellen
public ISandbox createSandbox ()
Erstellen Sie ein ISandbox
, das der Aufruf zum Ausführen verwendet.
Returns | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Gibt detaillierte Debug-Informationen zum Status der Warteschlange für die Befehlsausführung aus.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Gibt eine Liste der aktuellen Befehle aus.
Parameter | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) , in den die Ausgabe erfolgen soll. |
regex |
String : der reguläre Ausdruck, mit dem Befehle abgeglichen werden sollen, um
gedruckt. Bei null werden alle Befehle ausgegeben.
|
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Zeigt eine Liste der aktuellen Aufrufe an.
Parameter | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) , in den die Ausgabe erfolgen soll.
|
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Speichern Sie die erweiterte XML-Datei für den Befehl mit allen
Option
-Werte, die für alle aktuellen Befehle angegeben wurden.
Parameter | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) , an den der Status ausgegeben werden soll. |
regex |
String : der reguläre Ausdruck, mit dem Befehle in der richtigen Reihenfolge für die
zu speichern. Wenn null ist, werden alle Befehle ausgegeben.
|
Befehl ausführen
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Befehl direkt auf einem bereits zugewiesenen Gerät ausführen.
Parameter | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : die zu informierenden ICommandScheduler.IScheduledInvocationListener |
device |
ITestDevice : die zu verwendende ITestDevice |
args |
String : die Befehlsargumente |
Ausgabe | |
---|---|
ConfigurationException |
Befehl ausführen
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Ordnet ein Gerät direkt zu und führt einen Befehl aus, ohne es der Befehlswarteschlange hinzuzufügen
mit einer bereits vorhandenen IInvocationContext
.
Parameter | |
---|---|
context |
IInvocationContext : eine vorhandene IInvocationContext . |
listener |
ICommandScheduler.IScheduledInvocationListener : die zu informierenden ICommandScheduler.IScheduledInvocationListener |
args |
String : die Befehlsargumente |
Ausgabe | |
---|---|
ConfigurationException |
|
NoDeviceException |
Befehl ausführen
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Ordnet ein Gerät direkt zu und führt einen Befehl aus, ohne es der Befehlswarteschlange hinzuzufügen.
Parameter | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : die zu informierenden ICommandScheduler.IScheduledInvocationListener |
args |
String : die Befehlsargumente |
Ausgabe | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Entsprechenden CommandFileWatcher
für diesen Planer abrufen
Returns | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Gibt die Anzahl der Befehle im Ausführungsstatus zurück.
Returns | |
---|---|
int |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Gibt die Informationen zu einem Aufruf zurück, indem die Aufruf-ID angegeben wird.
Parameter | |
---|---|
invocationId |
int : die Tracking-ID des Aufrufs. |
Returns | |
---|---|
String |
Ein String mit Informationen zum Aufruf.
|
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Gibt den Fehlercode des letzten ausgeführten Aufrufs zurück. Gibt 0 (kein Fehler) zurück, wenn noch kein Aufruf ausgeführt wurde.
Returns | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable (GetLastInvocationThrowable)
public Throwable getLastInvocationThrowable ()
Gibt das Throwable
des letzten ausgeführten Aufrufs zurück.
Gibt null zurück, wenn kein Wurfgerät verfügbar ist.
Returns | |
---|---|
Throwable |
getReadyCommandCount (Anzahl der Bereitschaftsbefehle)
public int getReadyCommandCount ()
Gibt die Anzahl der Befehle im Status „Bereit“ in der Warteschlange zurück.
Returns | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
Returns | |
---|---|
long |
HandoverInitiationAbgeschlossen
public void handoverInitiationComplete ()
Informiert den Befehlsplaner über den ersten Handover-Austausch der verwendeten Geräte und Befehle abgeschlossen ist und mit der Planung beginnen kann.
handoverHerunterfahren
public boolean handoverShutdown (int handoverPort)
Initiiert ein shutdown()
und eine Übergabe an einen anderen Tradef-Prozess auf demselben Host.
Der Planer informiert den Remote-Tradef-Prozess, der diesen Port der freigegebenen Geräte überwacht. sobald sie verfügbar sind.
Parameter | |
---|---|
handoverPort |
int |
Returns | |
---|---|
boolean |
true , wenn die Handover-Initiierung erfolgreich war, false
sonst
|
BenachrichtigtDateigeändert
public void notifyFileChanged (File cmdFile,extraArgs)
Parameter | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Alle Befehle aus dem Planer entfernen
Homerun
public void run ()
Der Hauptausführungsblock dieses Threads.
SetClearcutClient
public void setClearcutClient (ClearcutClient client)
Den Kunden für die Berichterstellung über die Nutzungsdaten einrichten
Parameter | |
---|---|
client |
ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Gibt „true“ zurück, wenn der Planer bei einem Befehlsfehler heruntergefahren werden muss
Returns | |
---|---|
boolean |
herunterfahren
public void shutdown ()
Versuchen Sie, den Befehlsplaner ordnungsgemäß herunterzufahren.
Löscht Befehle, die zum Testen warten, und fordert an, dass alle Aufrufe ausgeführt werden nicht ordnungsgemäß herunterfahren.
Nach dem Herunterfahren wartet die Planer-Hauptschleife auf alle laufenden Aufrufe. bevor Sie den Vorgang beenden.
Herunterfahren schwierig
public void shutdownHard (boolean killAdb)
Versuchen Sie, das Herunterfahren des Befehlsplaners zu erzwingen.
Ähnlich wie „shutdown()
“, beendet aber optional die ADB-Verbindung in einem
„Inspirieren“ laufenden -Aufrufen schneller abgeschlossen.
Parameter | |
---|---|
killAdb |
boolean |
Herunterfahren schwierig
public void shutdownHard ()
Versuchen Sie, das Herunterfahren des Befehlsplaners zu erzwingen. Entspricht ShutdownHard(true).
ShutdownOnEmpty
public void shutdownOnEmpty ()
Ähnlich wie „shutdown()
“, wird aber darauf gewartet, dass alle Befehle ausgeführt wurden
bevor Sie die Seite verlassen.
Wenn sich Befehle im Schleifenmodus befinden, wird der Planer niemals beendet.
start
public void start ()
Startet den Planer, einschließlich Einrichten von Logging, Initialisierung von DeviceManager
usw.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Beenden Sie einen laufenden Aufruf.
Parameter | |
---|---|
invocation |
ITestInvocation |
Returns | |
---|---|
boolean |
„true“, wenn der Aufruf beendet wurde, andernfalls „false“ |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
Beenden Sie einen laufenden Aufruf, indem Sie seine ID angeben.
Parameter | |
---|---|
invocationId |
int : die Tracking-ID des Aufrufs. |
cause |
String : der Grund für das Beenden des Aufrufs. |
Returns | |
---|---|
boolean |
„true“, wenn der Aufruf beendet wurde, andernfalls „false“ |
Geschützte Methoden
CleanUp
protected void cleanUp ()
Schließt die Protokolle und führt alle anderen erforderlichen Bereinigungen durch, bevor wir den Vorgang beenden.
Wird ausgesetzt, damit Einheitentests Simulationen können.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Parameter | |
---|---|
args |
String |
Returns | |
---|---|
IConfiguration |
Ausgabe | |
---|---|
ConfigurationException |
InvocationContext erstellen
protected IInvocationContext createInvocationContext ()
Returns | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Factory-Methode zum Abrufen eines Verweises auf IConfigurationFactory
Returns | |
---|---|
IConfigurationFactory |
das zu verwendende IConfigurationFactory
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
Factory-Methode zum Abrufen eines Verweises auf IDeviceManager
Returns | |
---|---|
IDeviceManager |
das zu verwendende IDeviceManager
|
getHostOptions
protected IHostOptions getHostOptions ()
Returns | |
---|---|
IHostOptions |
GetKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Ruft ein IKeyStoreClient
-Objekt mithilfe von IKeyStoreFactory
ab
deklariert in IGlobalConfiguration
oder null, wenn kein Wert definiert ist.
Returns | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
initLogging
protected void initLogging ()
Initialisiert das ddmlib-Log.
Wird ausgesetzt, damit Einheitentests Simulationen können.
isHerunterfahren
protected boolean isShutdown ()
Returns | |
---|---|
boolean |
isHerunterfahrenTDown
protected boolean isShuttingDown ()
Returns | |
---|---|
boolean |
ProcessReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parameter | |
---|---|
manager |
IDeviceManager |
WaitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Warten Sie, bis alle Aufruf-Threads abgeschlossen sind.