Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは Cloud Translation API によって翻訳されました。
Switch to English

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


使用可能なすべてのデバイスでTradeFederationコマンドを実行するためのスケジューラー。

実行時間の合計実行カウントに基づいて、実行するコマンドに優先順位を付けようとします。たとえば、頻繁に実行されないコマンドや高速に実行されるコマンドは、長時間実行されるコマンドよりも優先されます。

シャットダウンするまでバックグラウンドで永久に実行されます。

概要

ネストされたクラス

enum CommandScheduler.HostState

ホストのさまざまなステータスの列挙

パブリックコンストラクター

CommandScheduler ()

CommandScheduler作成しCommandScheduler

パブリックメソッド

boolean addCommand (String[] args, long totalExecTime)

コマンドの初期合計実行時間を受け入れる代替addCommand(String[])

boolean addCommand (String[] args)

コマンドをスケジューラに追加します。

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

指定されたファイルのすべてのコマンドをスケジューラに追加します

void await ()

スケジューラーが実行を開始するのを待ちます(該当する場合は、古いTFからのハンドオーバーが完了するのを待つことを含む)。

void completeHandover ()

開始されたハンドオーバーシーケンスが完全に完了し、デフォルトポートでリモートマネージャーを再初期化する必要があることをコマンドスケジューラに通知します。

ISandbox createSandbox ()

呼び出しが実行に使用するISandboxを作成します。

void displayCommandQueue (PrintWriter printWriter)

コマンド実行キューの状態に関する詳細なデバッグ情報を出力します。

void displayCommandsInfo (PrintWriter printWriter, String regex)

現在のコマンドのリストを出力します。

void displayInvocationsInfo (PrintWriter printWriter)

現在の呼び出しのリストを表示します。

void dumpCommandsXml (PrintWriter printWriter, String regex)

現在のすべてのコマンドに指定されたすべてのOption値を使用して、コマンドの拡張xmlファイルをダンプします。

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

デバイスを直接割り当て、既存のIInvocationContextを使用してコマンドキューに追加せずにコマンドを実行します。

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

デバイスを直接割り当て、コマンドキューに追加せずにコマンドを実行します。

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

すでに割り当てられているデバイスでコマンドを直接実行します。

CommandFileWatcher getCommandFileWatcher ()

このスケジューラーに適切なCommandFileWatcherを取得します

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

呼び出しIDを指定する呼び出しbuに関する情報を返します。

CommandRunner.ExitCode getLastInvocationExitCode ()

最後に実行された呼び出しのエラーコードを返します。

Throwable getLastInvocationThrowable ()

実行された最後の呼び出しからThrowableを返します。

int getReadyCommandCount ()

キュー内の準備状態のコマンドの数を返します。

long getShutdownTimeout ()
void handoverInitiationComplete ()

使用中のデバイスとコマンドの最初のハンドオーバー交換が完了し、スケジューリング操作を開始できることをコマンドスケジューラに通知します。

boolean handoverShutdown (int handoverPort)

shutdown()を開始し、この同じホスト上の別のトレードされたプロセスにハンドオーバーします。

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

スケジューラからすべてのコマンドを削除します

void run ()

このスレッドのメイン実行ブロック。

void setClearcutClient (ClearcutClient client)

ハーネスデータを報告するようにクライアントを設定する

void setLastInvocationExitCode ( CommandRunner.ExitCode code, Throwable throwable)

ヘルパーメソッドは、 CommandRunnerコンテキスト内で実行するときに、終了エラーコードと返されるスタックトレースを設定します。

boolean shouldShutdownOnCmdfileError ()

コマンドエラーでスケジューラをシャットダウンする必要がある場合はtrueを返します

void shutdown ()

コマンドスケジューラを適切にシャットダウンしてみます。

void shutdownHard ()

コマンドスケジューラを強制的にシャットダウンしてみます。

void shutdownOnEmpty ()

shutdown()似ていますが、終了する前にすべてのコマンドが実行されるのを待ちます。

void start ()

ロギングの設定、 DeviceManager初期DeviceManagerなどを含むスケジューラを起動します

boolean stopInvocation (int invocationId)

IDを指定して、実行中の呼び出しを停止します。

boolean stopInvocation ( ITestInvocation invocation)

実行中の呼び出しを停止します。

保護されたメソッド

void cleanUp ()

ログを閉じ、終了する前に他の必要なクリーンアップを実行します。

IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

IConfigurationFactoryへの参照を取得するためのファクトリメソッド

IDeviceManager getDeviceManager ()

IDeviceManagerへの参照を取得するためのファクトリメソッド

IKeyStoreClient getKeyStoreClient ()

IKeyStoreFactory宣言されたIKeyStoreClientを使用してIKeyStoreFactoryIGlobalConfigurationか、何も定義されていない場合はnullをIGlobalConfigurationます。

void initInvocation ()

テスト呼び出しを開始する前のオプションの初期化ステップ

void initLogging ()

ddmlibログを初期化します。

boolean isShutdown ()
boolean isShuttingDown ()
void postProcessReadyCommands ()

スケジューラのメインループ内のプレースホルダーメソッドprocessReadyCommands(com.android.tradefed.device.IDeviceManager)後に呼び出されprocessReadyCommands(com.android.tradefed.device.IDeviceManager)

void processReadyCommands ( IDeviceManager manager)
void waitForAllInvocationThreads ()

すべての呼び出しスレッドが完了するまで待ちます。

パブリックコンストラクター

CommandScheduler

public CommandScheduler ()

CommandScheduler作成しCommandScheduler

注:startは使用前に呼び出す必要があります。

パブリックメソッド

addCommand

public boolean addCommand (String[] args, 
                long totalExecTime)

コマンドの初期合計実行時間を受け入れる代替addCommand(String[])

既存のコマンドを別のトレードされたプロセスから移行するときに役立ちます

パラメーター
args String :構成引数。

totalExecTime long :コマンドの累積実行経過時間

戻り値
boolean コマンドが正常に追加された場合はtrue

投げる
ConfigurationException

addCommand

public boolean addCommand (String[] args)

コマンドをスケジューラに追加します。

コマンドは基本的に、実行する構成とそれに関連する引数のインスタンスです。

「--help」引数が指定されている場合、構成のヘルプテキストがstdoutに出力されます。それ以外の場合、構成は実行するキューに追加されます。

パラメーター
args String :構成引数。

戻り値
boolean コマンドが正常に追加された場合はtrue

投げる
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

指定されたファイルのすべてのコマンドをスケジューラに追加します

パラメーター
cmdFilePath String :コマンドファイルのファイルシステムパス

extraArgs :ファイルから解析された各コマンドに追加するString引数のERROR(/List) 。空にすることができますが、nullにすることはできません。

投げる
ConfigurationException

待つ

public void await ()

スケジューラーが実行を開始するのを待ちます(該当する場合は、古いTFからのハンドオーバーが完了するのを待つことを含む)。

completeHandover

public void completeHandover ()

開始されたハンドオーバシーケンスが完全に完了し、デフォルトポートでリモートマネージャを再初期化する必要があることをコマンドスケジューラに通知します。

createSandbox

public ISandbox createSandbox ()

呼び出しが実行に使用するISandboxを作成します。

戻り値
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

コマンド実行キューの状態に関する詳細なデバッグ情報を出力します。

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

現在のコマンドのリストを出力します。

パラメーター
printWriter PrintWriter :出力先のERROR(/PrintWriter)

regex String :コマンドを出力するために一致させる必要がある正規表現。 nullの場合、すべてのコマンドが出力されます。

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

現在の呼び出しのリストを表示します。

パラメーター
printWriter PrintWriter :出力先のERROR(/PrintWriter)

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

現在のすべてのコマンドに指定されたすべてのOption値を使用して、コマンドの拡張xmlファイルをダンプします。

パラメーター
printWriter PrintWriter :ステータスを出力するERROR(/PrintWriter)

regex String :xmlファイルをダンプするためにコマンドが一致する必要がある正規表現。 nullの場合、すべてのコマンドがダンプされます。

execCommand

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

デバイスを直接割り当て、既存のIInvocationContextを使用してコマンドキューに追加せずにコマンドを実行します。

パラメーター
context IInvocationContext :既存のIInvocationContext

listener ICommandScheduler.IScheduledInvocationListener :通知されるICommandScheduler.IScheduledInvocationListener

args String :コマンド引数

投げる
ConfigurationException
NoDeviceException

execCommand

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

デバイスを直接割り当て、コマンドキューに追加せずにコマンドを実行します。

パラメーター
listener ICommandScheduler.IScheduledInvocationListener :通知されるICommandScheduler.IScheduledInvocationListener

args String :コマンド引数

投げる
ConfigurationException
NoDeviceException

execCommand

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

すでに割り当てられているデバイスでコマンドを直接実行します。

パラメーター
listener ICommandScheduler.IScheduledInvocationListener :通知されるICommandScheduler.IScheduledInvocationListener

device ITestDevice :使用するITestDevice

args String :コマンド引数

投げる
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

このスケジューラーに適切なCommandFileWatcherを取得します

戻り値
CommandFileWatcher

getHostState

public CommandScheduler.HostState getHostState ()

戻り値
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

呼び出しIDを指定する呼び出しbuに関する情報を返します。

パラメーター
invocationId int :呼び出しの追跡ID。

戻り値
String 呼び出しに関する情報を含むString

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

最後に実行された呼び出しのエラーコードを返します。呼び出しがまだ実行されていない場合は、0(エラーなし)を返します。

戻り値
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

実行された最後の呼び出しからThrowableを返します。スロー可能なオブジェクトがない場合はnullを返します。

戻り値
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

キュー内の準備状態のコマンドの数を返します。

戻り値
int

getShutdownTimeout

public long getShutdownTimeout ()

戻り値
long

handoverInitiationComplete

public void handoverInitiationComplete ()

使用中のデバイスとコマンドの最初のハンドオーバー交換が完了し、スケジューリング操作を開始できることをコマンドスケジューラに通知します。

ハンドオーバーシャ​​ットダウン

public boolean handoverShutdown (int handoverPort)

shutdown()を開始し、この同じホスト上の別のトレードされたプロセスにハンドオーバーします。

スケジューラーは、解放されたデバイスが利用可能になると、解放されたデバイスのポートをリッスンしているリモートのトレードプロセスに通知します。

パラメーター
handoverPort int

戻り値
boolean ハンドオーバーの開始が成功した場合はtrue 、それ以外の場合はfalse

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

パラメーター
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

スケジューラからすべてのコマンドを削除します

走る

public void run ()

このスレッドのメイン実行ブロック。

setClearcutClient

public void setClearcutClient (ClearcutClient client)

ハーネスデータを報告するようにクライアントを設定する

パラメーター
client ClearcutClient

setLastInvocationExitCode

public void setLastInvocationExitCode ( CommandRunner.ExitCode code, 
                Throwable throwable)

ヘルパーメソッドは、 CommandRunnerコンテキスト内で実行するときに、終了エラーコードと返されるスタックトレースを設定します。

パラメーター
code CommandRunner.ExitCode

throwable Throwable

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

コマンドエラーでスケジューラをシャットダウンする必要がある場合はtrueを返します

戻り値
boolean

シャットダウン

public void shutdown ()

コマンドスケジューラを適切にシャットダウンしてみます。

テストを待機しているコマンドをクリアし、進行中のすべての呼び出しを正常にシャットダウンするように要求します。

シャットダウンが呼び出された後、スケジューラのメインループは、進行中のすべての呼び出しが完了するのを待ってから、完全に終了します。

shutdownHard

public void shutdownHard ()

コマンドスケジューラを強制的にシャットダウンしてみます。

shutdown()と同様ですが、進行中の呼び出しを「インスパイア」してより速く完了する試みで、adb接続を強制的に強制終了します。

shutdownOnEmpty

public void shutdownOnEmpty ()

shutdown()似ていますが、終了する前にすべてのコマンドが実行されるのを待ちます。

コマンドがループモードの場合、スケジューラは決して終了しないことに注意してください。

開始

public void start ()

ロギングの設定、 DeviceManager初期DeviceManagerなどを含むスケジューラを起動します

stopInvocation

public boolean stopInvocation (int invocationId)

IDを指定して、実行中の呼び出しを停止します。

パラメーター
invocationId int

戻り値
boolean 呼び出しが停止された場合はtrue、そうでない場合はfalse

stopInvocation

public boolean stopInvocation ( ITestInvocation invocation)

実行中の呼び出しを停止します。

パラメーター
invocation ITestInvocation

戻り値
boolean 呼び出しが停止された場合はtrue、そうでない場合はfalse

保護されたメソッド

掃除

protected void cleanUp ()

ログを閉じ、終了する前に他の必要なクリーンアップを実行します。

ユニットテストがモックできるように公開されています。

createInvocationContext

protected IInvocationContext createInvocationContext ()

戻り値
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

IConfigurationFactoryへの参照を取得するためのファクトリメソッド

戻り値
IConfigurationFactory 使用するIConfigurationFactory

getDeviceManager

protected IDeviceManager getDeviceManager ()

IDeviceManagerへの参照を取得するためのファクトリメソッド

戻り値
IDeviceManager 使用するIDeviceManager

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

IKeyStoreFactory宣言されたIKeyStoreClientを使用してIKeyStoreFactoryIGlobalConfigurationか、何も定義されていない場合はnullをIGlobalConfigurationます。

戻り値
IKeyStoreClient IKeyStoreClient

initInvocation

protected void initInvocation ()

テスト呼び出しを開始する前のオプションの初期化ステップ

initLogging

protected void initLogging ()

ddmlibログを初期化します。

ユニットテストがモックできるように公開されています。

isShutdown

protected boolean isShutdown ()

戻り値
boolean

isShuttingDown

protected boolean isShuttingDown ()

戻り値
boolean

postProcessReadyCommands

protected void postProcessReadyCommands ()

スケジューラのメインループ内のプレースホルダーメソッドprocessReadyCommands(com.android.tradefed.device.IDeviceManager)後に呼び出されprocessReadyCommands(com.android.tradefed.device.IDeviceManager) 。デフォルトの実装は空であり、追加のアクションはありません。

processReadyCommands

protected void processReadyCommands ( IDeviceManager manager)

パラメーター
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

すべての呼び出しスレッドが完了するまで待ちます。