Penjadwal Perintah
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Objek | |
↳ | com.android.tradefed.command.CommandScheduler |
Penjadwal untuk menjalankan perintah TradeFederation di semua perangkat yang tersedia.
Akan mencoba memprioritaskan perintah untuk dijalankan berdasarkan jumlah total waktu eksekusinya. misalnya perintah yang jarang atau berjalan cepat akan diprioritaskan dibandingkan perintah yang berjalan lama. Berjalan selamanya di latar belakang hingga dimatikan.Ringkasan
Kelas bersarang | |
---|---|
enum | CommandScheduler.HostState Enum status host yang berbeda |
Konstruktor publik | |
---|---|
CommandScheduler () Membuat |
Metode publik | |
---|---|
boolean | addCommand (String[] args) Menambahkan perintah ke penjadwal. |
void | addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs) Menambahkan semua perintah dari file yang diberikan ke penjadwal |
void | await () Menunggu penjadwal mulai berjalan, termasuk menunggu serah terima dari TF lama selesai jika berlaku. |
static TradefedDelegator | checkDelegation (String[] args) Buat delegasi berdasarkan baris perintah untuk melihat apakah kita perlu mendelegasikan proses tersebut. |
void | completeHandover () Memberi tahu penjadwal perintah bahwa urutan penyerahan yang dimulai telah selesai sepenuhnya, dan harus menginisialisasi ulang manajer jarak jauhnya pada port default. |
static | createReleaseMap (IInvocationContext context, Throwable e) Buat peta status perangkat sehingga dapat dirilis dengan tepat. |
ISandbox | createSandbox () Buat |
void | displayCommandQueue (PrintWriter printWriter) Keluarkan info debug terperinci tentang status antrian eksekusi perintah. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) Keluarkan daftar perintah saat ini. |
void | displayInvocationsInfo (PrintWriter printWriter) Menampilkan daftar pemanggilan saat ini. |
void | dumpCommandsXml (PrintWriter printWriter, String regex) Buang file xml yang diperluas untuk perintah dengan semua nilai |
void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args) Langsung jalankan perintah pada perangkat yang sudah dialokasikan. |
void | execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrian perintah menggunakan |
void | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrian perintah. |
CommandFileWatcher | getCommandFileWatcher () Dapatkan |
int | getExecutingCommandCount () Mengembalikan jumlah Perintah dalam status eksekusi. |
CommandScheduler.HostState | getHostState () |
String | getInvocationInfo (int invocationId) Mengembalikan informasi tentang pemanggilan tetapi menentukan id pemanggilan. |
CommandRunner.ExitCode | getLastInvocationExitCode () Kembalikan kode kesalahan dari pemanggilan terakhir yang dijalankan. |
Throwable | getLastInvocationThrowable () Mengembalikan |
int | getReadyCommandCount () Mengembalikan jumlah Perintah dalam keadaan siap dalam antrian. |
long | getShutdownTimeout () |
void | handoverInitiationComplete () Memberi tahu penjadwal perintah bahwa pertukaran penyerahan awal perangkat dan perintah yang digunakan telah selesai, dan dapat memulai operasi penjadwalan. |
boolean | handoverShutdown (int handoverPort) Memulai |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () Hapus semua perintah dari penjadwal |
void | run () Blok eksekusi utama dari thread ini. |
void | setClearcutClient (ClearcutClient client) Atur klien untuk melaporkan data harness |
boolean | shouldShutdownOnCmdfileError () Mengembalikan nilai true jika kita perlu mematikan penjadwal karena kesalahan perintah |
void | shutdown () Cobalah untuk mematikan penjadwal perintah dengan baik. |
void | shutdownHard (boolean killAdb) Mencoba mematikan paksa penjadwal perintah. |
void | shutdownHard () Mencoba mematikan paksa penjadwal perintah. |
void | shutdownOnEmpty () Mirip dengan |
void | start () Memulai penjadwal termasuk pengaturan logging, init |
boolean | stopInvocation ( ITestInvocation invocation) Hentikan pemanggilan yang sedang berjalan. |
boolean | stopInvocation (int invocationId, String cause) Hentikan pemanggilan yang sedang berjalan dengan menentukan idnya. |
Metode yang dilindungi | |
---|---|
void | cleanUp () Menutup log dan melakukan pembersihan lain yang diperlukan sebelum kita keluar. |
IConfiguration | createConfiguration (String[] args) |
IInvocationContext | createInvocationContext () |
IConfigurationFactory | getConfigFactory () Metode pabrik untuk mendapatkan referensi ke |
IDeviceManager | getDeviceManager () Metode pabrik untuk mendapatkan referensi ke |
TradefedFeatureServer | getFeatureServer () |
IHostOptions | getHostOptions () |
IKeyStoreClient | getKeyStoreClient () Mengambil |
void | initLogging () Menginisialisasi log ddmlib. |
boolean | isShutdown () |
boolean | isShuttingDown () |
void | processReadyCommands ( IDeviceManager manager) |
void | waitForAllInvocationThreads () Tunggu sampai semua thread pemanggilan selesai. |
Konstruktor publik
Penjadwal Perintah
public CommandScheduler ()
Membuat CommandScheduler
.
Metode publik
tambahkanPerintah
public boolean addCommand (String[] args)
Menambahkan perintah ke penjadwal.
Sebuah perintah pada dasarnya adalah sebuah contoh konfigurasi yang akan dijalankan dan argumen terkaitnya. Jika argumen "--help" ditentukan, teks bantuan untuk konfigurasi akan ditampilkan ke stdout. Jika tidak, konfigurasi akan ditambahkan ke antrian untuk dijalankan.Parameter | |
---|---|
args | String : argumen konfigurasi. |
Kembali | |
---|---|
boolean | true jika perintah berhasil ditambahkan |
Melempar | |
---|---|
ConfigurationException |
tambahkanCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Menambahkan semua perintah dari file yang diberikan ke penjadwal
Parameter | |
---|---|
cmdFilePath | String : jalur sistem file dari file perintah |
extraArgs | ERROR(/List) argumen String untuk ditambahkan ke setiap perintah yang diurai dari file. Boleh kosong tetapi tidak boleh nol. |
Melempar | |
---|---|
ConfigurationException |
menunggu
public void await ()
Menunggu penjadwal mulai berjalan, termasuk menunggu serah terima dari TF lama selesai jika berlaku.
checkDelegasi
public static TradefedDelegator checkDelegation (String[] args)
Buat delegasi berdasarkan baris perintah untuk melihat apakah kita perlu mendelegasikan proses tersebut.
Parameter | |
---|---|
args | String |
Kembali | |
---|---|
TradefedDelegator |
Melempar | |
---|---|
ConfigurationException |
selesai serah terima
public void completeHandover ()
Memberi tahu penjadwal perintah bahwa urutan penyerahan yang dimulai telah selesai sepenuhnya, dan harus menginisialisasi ulang manajer jarak jauhnya pada port default.
buatReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Buat peta status perangkat sehingga dapat dirilis dengan tepat.
Parameter | |
---|---|
context | IInvocationContext |
e | Throwable |
Kembali | |
---|---|
buatKotak Pasir
public ISandbox createSandbox ()
Buat ISandbox
yang akan digunakan untuk menjalankan pemanggilan.
Kembali | |
---|---|
ISandbox |
tampilanCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Keluarkan info debug terperinci tentang status antrian eksekusi perintah.
tampilanCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Keluarkan daftar perintah saat ini.
Parameter | |
---|---|
printWriter | PrintWriter : ERROR(/PrintWriter) yang akan dijadikan output. |
regex | String : ekspresi reguler yang perintahnya harus dicocokkan agar dapat dicetak. Jika null, maka semua perintah akan dicetak. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Menampilkan daftar pemanggilan saat ini.
Parameter | |
---|---|
printWriter | PrintWriter : ERROR(/PrintWriter) yang akan dijadikan output. |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Buang file xml yang diperluas untuk perintah dengan semua nilai Option
yang ditentukan untuk semua perintah saat ini.
Parameter | |
---|---|
printWriter | PrintWriter : ERROR(/PrintWriter) untuk menampilkan status. |
regex | String : ekspresi reguler yang perintahnya harus dicocokkan agar file xml dapat dibuang. Jika null, maka semua perintah akan dibuang. |
perintah eksekutif
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Langsung jalankan perintah pada perangkat yang sudah dialokasikan.
Parameter | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener yang akan diberitahukan |
device | ITestDevice : ITestDevice yang akan digunakan |
args | String : argumen perintah |
Melempar | |
---|---|
ConfigurationException |
perintah eksekutif
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrian perintah menggunakan IInvocationContext
yang sudah ada.
Parameter | |
---|---|
context | IInvocationContext : IInvocationContext yang sudah ada. |
listener | ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener yang akan diberitahukan |
args | String : argumen perintah |
Melempar | |
---|---|
ConfigurationException | |
NoDeviceException |
perintah eksekutif
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrian perintah.
Parameter | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener yang akan diberitahukan |
args | String : argumen perintah |
Melempar | |
---|---|
ConfigurationException | |
NoDeviceException |
dapatkanCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Dapatkan CommandFileWatcher
yang sesuai untuk penjadwal ini
Kembali | |
---|---|
CommandFileWatcher |
dapatkanExecutingCommandCount
public int getExecutingCommandCount ()
Mengembalikan jumlah Perintah dalam status eksekusi.
Kembali | |
---|---|
int |
dapatkanHostState
public CommandScheduler.HostState getHostState ()
Kembali | |
---|---|
CommandScheduler.HostState |
dapatkanInvokasiInfo
public String getInvocationInfo (int invocationId)
Mengembalikan informasi tentang pemanggilan tetapi menentukan id pemanggilan.
Parameter | |
---|---|
invocationId | int : id pelacakan pemanggilan. |
Kembali | |
---|---|
String | Sebuah String yang berisi informasi tentang pemanggilan. |
dapatkanLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Kembalikan kode kesalahan dari pemanggilan terakhir yang dijalankan. Kembalikan 0 (tidak ada kesalahan), jika belum ada pemanggilan yang dijalankan.
Kembali | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Mengembalikan Throwable
dari pemanggilan terakhir yang dijalankan. Kembalikan null, jika tidak ada barang yang dapat dibuang.
Kembali | |
---|---|
Throwable |
dapatkanReadyCommandCount
public int getReadyCommandCount ()
Mengembalikan jumlah Perintah dalam keadaan siap dalam antrian.
Kembali | |
---|---|
int |
dapatkanShutdownTimeout
public long getShutdownTimeout ()
Kembali | |
---|---|
long |
serah terima Inisiasi Selesai
public void handoverInitiationComplete ()
Memberi tahu penjadwal perintah bahwa pertukaran penyerahan awal perangkat dan perintah yang digunakan telah selesai, dan dapat memulai operasi penjadwalan.
serah terimaShutdown
public boolean handoverShutdown (int handoverPort)
Memulai shutdown()
dan penyerahan ke proses tradefed lain pada host yang sama.
Parameter | |
---|---|
handoverPort | int |
Kembali | |
---|---|
boolean | true jika inisiasi serah terima berhasil, false jika sebaliknya |
beri tahuFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Parameter | |
---|---|
cmdFile | File |
extraArgs |
hapusSemua Perintah
public void removeAllCommands ()
Hapus semua perintah dari penjadwal
berlari
public void run ()
Blok eksekusi utama dari thread ini.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Atur klien untuk melaporkan data harness
Parameter | |
---|---|
client | ClearcutClient |
harusShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Mengembalikan nilai true jika kita perlu mematikan penjadwal karena kesalahan perintah
Kembali | |
---|---|
boolean |
matikan
public void shutdown ()
Cobalah untuk mematikan penjadwal perintah dengan baik.
Menghapus perintah yang menunggu untuk diuji, dan meminta agar semua pemanggilan yang sedang berlangsung ditutup dengan baik. Setelah shutdown dipanggil, loop utama penjadwal akan menunggu hingga semua pemanggilan yang sedang berlangsung selesai sebelum keluar sepenuhnya.penutupan Keras
public void shutdownHard (boolean killAdb)
Mencoba mematikan paksa penjadwal perintah.
Mirip dengan shutdown()
, tetapi juga secara opsional akan mematikan koneksi adb, dalam upaya untuk 'menginspirasi' pemanggilan yang sedang berlangsung agar selesai lebih cepat.
Parameter | |
---|---|
killAdb | boolean |
penutupan Keras
public void shutdownHard ()
Mencoba mematikan paksa penjadwal perintah. Sama seperti shutdownHard(benar).
shutdownOnEmpty
public void shutdownOnEmpty ()
Mirip dengan shutdown()
, tetapi akan menunggu semua perintah dijalankan sebelum keluar.
stopInvokasi
public boolean stopInvocation (ITestInvocation invocation)
Hentikan pemanggilan yang sedang berjalan.
Parameter | |
---|---|
invocation | ITestInvocation |
Kembali | |
---|---|
boolean | benar jika pemanggilan dihentikan, salah jika sebaliknya |
stopInvokasi
public boolean stopInvocation (int invocationId, String cause)
Hentikan pemanggilan yang sedang berjalan dengan menentukan idnya.
Parameter | |
---|---|
invocationId | int : id pelacakan pemanggilan. |
cause | String : penyebab penghentian pemanggilan. |
Kembali | |
---|---|
boolean | benar jika pemanggilan dihentikan, salah jika sebaliknya |
Metode yang dilindungi
membersihkan
protected void cleanUp ()
Menutup log dan melakukan pembersihan lain yang diperlukan sebelum kita keluar.
Diekspos sehingga pengujian unit dapat diolok-olok.
buatKonfigurasi
protected IConfiguration createConfiguration (String[] args)
Parameter | |
---|---|
args | String |
Kembali | |
---|---|
IConfiguration |
Melempar | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
Kembali | |
---|---|
IInvocationContext |
dapatkanConfigFactory
protected IConfigurationFactory getConfigFactory ()
Metode pabrik untuk mendapatkan referensi ke IConfigurationFactory
Kembali | |
---|---|
IConfigurationFactory | IConfigurationFactory yang akan digunakan |
dapatkanDeviceManager
protected IDeviceManager getDeviceManager ()
Metode pabrik untuk mendapatkan referensi ke IDeviceManager
Kembali | |
---|---|
IDeviceManager | IDeviceManager yang akan digunakan |
dapatkanFeatureServer
protected TradefedFeatureServer getFeatureServer ()
Kembali | |
---|---|
TradefedFeatureServer |
dapatkanHostOptions
protected IHostOptions getHostOptions ()
Kembali | |
---|---|
IHostOptions |
dapatkanKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Mengambil IKeyStoreClient
menggunakan IKeyStoreFactory
yang dideklarasikan di IGlobalConfiguration
atau null jika tidak ada yang ditentukan.
Kembali | |
---|---|
IKeyStoreClient | Klien IKeyStore |
initLogging
protected void initLogging ()
Menginisialisasi log ddmlib.
Diekspos sehingga pengujian unit dapat diolok-olok.
adalah Shutdown
protected boolean isShutdown ()
Kembali | |
---|---|
boolean |
adalah ShuttingDown
protected boolean isShuttingDown ()
Kembali | |
---|---|
boolean |
prosesSiapPerintah
protected void processReadyCommands (IDeviceManager manager)
Parameter | |
---|---|
manager | IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Tunggu sampai semua thread pemanggilan selesai.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2023-12-01 UTC.