ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


執行 TradeFederation 指令的排程器。

摘要

巢狀類別

interface ICommandScheduler.IScheduledInvocationListener

叫用完成後的叫用事件接聽程式。 

公用方法

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

在排程器中新增指令。

abstract void addCommandFile(String cmdFile, extraArgs)

將指定檔案的所有指令新增至排程器

abstract void await()

等待排程器開始執行,包括等待舊 TF 轉換完成 (如適用)。

abstract void displayCommandQueue(PrintWriter printWriter)

輸出指令執行佇列狀態的詳細偵錯資訊。

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

並輸出目前指令的清單。

abstract void displayInvocationsInfo(PrintWriter printWriter)

顯示目前叫用的清單。

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

使用所有指令傾印已展開的 XML 檔案 已為所有目前指令指定的 Option 值。

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

直接分配裝置並執行指令,且不會將裝置新增至指令佇列 使用現有的 IInvocationContext

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

直接分配裝置並執行指令,且不會將裝置新增至指令佇列。

abstract long execCommand(ICommandScheduler.IScheduledInvocationListener listener, devices, String[] args)

直接在已分配的裝置上執行指令。

abstract CommandFileWatcher getCommandFileWatcher()

取得這個排程器適用的 CommandFileWatcher

abstract int getExecutingCommandCount()

傳回執行中狀態的指令數量。

abstract String getInvocationInfo(int invocationId)

傳回指定叫用 ID 的叫用耳機資訊。

abstract CommandRunner.ExitCode getLastInvocationExitCode()

傳回上次執行叫用的錯誤代碼。

abstract Throwable getLastInvocationThrowable()

從上次執行的叫用中傳回 Throwable

abstract int getReadyCommandCount()

傳回佇列中處於就緒狀態的指令數量。

abstract boolean isDeviceInInvocationThread(ITestDevice device)

如果裝置在運作中的叫用執行緒使用裝置,則傳回 true。

abstract void join()

等待排程器完成。

abstract void join(long millis)

等待排程器在指定的持續時間 (以毫秒為單位) 後完成或逾時。

abstract void removeAllCommands()

移除排程器中的所有指令

abstract void setClearcutClient(ClearcutClient client)

將用戶端設為回報管理資料

abstract boolean shouldShutdownOnCmdfileError()

如果我們需要針對指令錯誤關閉排程器,則傳回 true

default void shutdown()

嘗試安全關閉指令排程器。

abstract void shutdown(boolean notifyStop)

嘗試安全關閉指令排程器。

abstract void shutdownHard(boolean killAdb)

嘗試強制關閉指令排程器。

abstract void shutdownHard()

嘗試強制關閉指令排程器。

abstract void shutdownOnEmpty()

shutdown() 類似,但會等待所有指令執行完畢 。

abstract void start()

啟動 ICommandScheduler

abstract boolean stopInvocation(int invocationId, String cause)

指定 ID 即可停止執行中的叫用。

default boolean stopInvocation(int invocationId)

指定 ID 即可停止執行中的叫用。

abstract boolean stopInvocation(ITestInvocation invocation)

停止執行中的叫用。

default void stopScheduling()

停止安排並接受新測試,但不停止交易。

公用方法

addCommand

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

在排程器中新增指令。

基本上,指令是某項設定的執行例項,且該執行個體相關聯 引數。

如果「--help」引數會指定設定的說明文字,並將該設定輸出至 stdout。 否則,設定會新增至佇列以便執行。

參數
args String:設定引數。

傳回
Pair<Boolean, Integer> 一組值,如果已新增指令,第一個值會是布林值 true 第二個值是已知的命令追蹤程式 ID(非負值),如果 指令新增成功,而在所有裝置上新增指令時傳回 0,否則傳回 0。 -1.

擲回
ConfigurationException 無法剖析 if 指令

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

將指定檔案的所有指令新增至排程器

參數
cmdFile String:comand 檔案的檔案系統路徑

extraArgs String 引數的 ERROR(/List),附加在剖析的每個指令上 。可以是空白,但不能為空值。

擲回
ConfigurationException if 指令檔案無法剖析

另請參閱:

等人

public abstract void await ()

等待排程器開始執行,包括等待舊 TF 轉換完成 (如適用)。

displayCommandQueue

public abstract void displayCommandQueue (PrintWriter printWriter)

輸出指令執行佇列狀態的詳細偵錯資訊。

displayCommandsInfo

public abstract void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

並輸出目前指令的清單。

參數
printWriter PrintWriter:要輸出的 ERROR(/PrintWriter)

regex String:為求相符指令的規則運算式 如果值為空值,則所有指令都會顯示。

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

顯示目前叫用的清單。

參數
printWriter PrintWriter:要輸出的 ERROR(/PrintWriter)

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

使用所有指令傾印已展開的 XML 檔案 已為所有目前指令指定的 Option 值。

參數
printWriter PrintWriter:要輸出狀態的 ERROR(/PrintWriter)

regex String:為 要傾印的 XML 檔案如果為空值,系統會傾印所有指令。

execCommand

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

直接分配裝置並執行指令,且不會將裝置新增至指令佇列 使用現有的 IInvocationContext

參數
context IInvocationContext:現有的 IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener:要接收通知的 ICommandScheduler.IScheduledInvocationListener

args String:指令引數

傳回
long

擲回
ConfigurationException if 指令無效
NoDeviceException 如果沒有裝置可以使用

execCommand

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

直接分配裝置並執行指令,且不會將裝置新增至指令佇列。

參數
listener ICommandScheduler.IScheduledInvocationListener:要接收通知的 ICommandScheduler.IScheduledInvocationListener

args String:指令引數

傳回
long 排定指令的叫用 ID。

擲回
ConfigurationException if 指令無效
NoDeviceException 如果沒有裝置可以使用

execCommand

public abstract long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 devices, 
                String[] args)

直接在已分配的裝置上執行指令。

參數
listener ICommandScheduler.IScheduledInvocationListener:要接收通知的 ICommandScheduler.IScheduledInvocationListener

devices :要使用的 ERROR(/List)

args String:指令引數

傳回
long 排定指令的叫用 ID。

擲回
ConfigurationException if 指令無效

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

取得這個排程器適用的 CommandFileWatcher

傳回
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

傳回執行中狀態的指令數量。

傳回
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

傳回指定叫用 ID 的叫用耳機資訊。

參數
invocationId int:叫用的追蹤 ID。

傳回
String 包含叫用相關資訊的 String

getLastInvocationExitCode

public abstract CommandRunner.ExitCode getLastInvocationExitCode ()

傳回上次執行叫用的錯誤代碼。 如果尚未執行叫用,會傳回 0 (無錯誤)。

傳回
CommandRunner.ExitCode

getLastInvocationThrowable

public abstract Throwable getLastInvocationThrowable ()

從上次執行的叫用中傳回 Throwable。 如果沒有可用的 Throwable,則傳回空值。

傳回
Throwable

getReadyCommandCount

public abstract int getReadyCommandCount ()

傳回佇列中處於就緒狀態的指令數量。

傳回
int

isDeviceInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

如果裝置在運作中的叫用執行緒使用裝置,則傳回 true。

參數
device ITestDevice

傳回
boolean

加入

public abstract void join ()

等待排程器完成。

另請參閱:

加入

public abstract void join (long millis)

等待排程器在指定的持續時間 (以毫秒為單位) 後完成或逾時。

參數
millis long

另請參閱:

removeAllCommands

public abstract void removeAllCommands ()

移除排程器中的所有指令

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

將用戶端設為回報管理資料

參數
client ClearcutClient

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

如果我們需要針對指令錯誤關閉排程器,則傳回 true

傳回
boolean

關機

public void shutdown ()

嘗試安全關閉指令排程器。

清除等待測試的指令,並清除所有進行中的叫用要求 安全又容易下降

呼叫關閉之後,排程器主迴圈會等待 才會完全結束

關機

public abstract void shutdown (boolean notifyStop)

嘗試安全關閉指令排程器。

參數
notifyStop boolean:如果為 true,系統會通知 TF 關閉的叫用。

關閉危險物品

public abstract void shutdownHard (boolean killAdb)

嘗試強制關閉指令排程器。

shutdown() 類似,但也會視需要終止 ADB 連線, 試圖「激勵」即可更快完成

參數
killAdb boolean

關閉危險物品

public abstract void shutdownHard ()

嘗試強制關閉指令排程器。與 ShutHard(true) 相同。

關閉

public abstract void shutdownOnEmpty ()

shutdown() 類似,但會等待所有指令執行完畢 。

請注意,如果任何指令處於循環模式,排程器一律不會結束。

start

public abstract void start ()

啟動 ICommandScheduler

必須先呼叫才能呼叫其他方法。

將持續執行到呼叫 shutdown() 為止。 請參閱 Thread.start()

停止叫用

public abstract boolean stopInvocation (int invocationId, 
                String cause)

指定 ID 即可停止執行中的叫用。

參數
invocationId int:叫用的追蹤 ID。

cause String:停止叫用的原因。

傳回
boolean 如果叫用已停止,傳回 true,否則傳回 false

擲回
UnsupportedOperationException 如果實作不支援這項功能

停止叫用

public boolean stopInvocation (int invocationId)

指定 ID 即可停止執行中的叫用。

參數
invocationId int

傳回
boolean 如果叫用已停止,傳回 true,否則傳回 false

擲回
UnsupportedOperationException 如果實作不支援這項功能

停止叫用

public abstract boolean stopInvocation (ITestInvocation invocation)

停止執行中的叫用。

參數
invocation ITestInvocation

傳回
boolean 如果叫用已停止,傳回 true,否則傳回 false

擲回
UnsupportedOperationException 如果實作不支援這項功能

停止排程

public void stopScheduling ()

停止安排並接受新測試,但不停止交易。這項設定是用來啟用 我們會先排除所有執行中的測試,再終止交易 (2 個步驟) 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作