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,
將指定檔案的所有指令新增至排程器 |
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 檔案
已為所有目前指令指定的 |
abstract
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
直接分配裝置並執行指令,且不會將裝置新增至指令佇列
使用現有的 |
abstract
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
直接分配裝置並執行指令,且不會將裝置新增至指令佇列。 |
abstract
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
直接在已分配的裝置上執行指令。 |
abstract
CommandFileWatcher
|
getCommandFileWatcher()
取得這個排程器適用的 CommandFileWatcher |
abstract
int
|
getExecutingCommandCount()
傳回執行中狀態的指令數量。 |
abstract
String
|
getInvocationInfo(int invocationId)
傳回指定叫用 ID 的叫用耳機資訊。 |
abstract
CommandRunner.ExitCode
|
getLastInvocationExitCode()
傳回上次執行叫用的錯誤代碼。 |
abstract
Throwable
|
getLastInvocationThrowable()
從上次執行的叫用中傳回 |
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()
與 |
abstract
void
|
start()
|
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 (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()
類似,但會等待所有指令執行完畢
。
請注意,如果任何指令處於循環模式,排程器一律不會結束。
停止叫用
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 自動完成部分資料準備工作