Penjadwal Perintah
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
Penjadwal untuk menjalankan perintah TradeFederation di semua perangkat yang tersedia.
Akan mencoba memprioritaskan perintah untuk dijalankan berdasarkan total jumlah eksekusi yang berjalan baik. mis. yang jarang atau berjalan cepat akan diprioritaskan daripada perintah yang berjalan lama.
Berjalan selamanya di latar belakang hingga dimatikan.
Ringkasan
Class bertingkat | |
---|---|
enum |
CommandScheduler.HostState
Enum berbagai status host |
Konstruktor publik | |
---|---|
CommandScheduler()
Membuat |
Metode publik | |
---|---|
boolean
|
addCommand(String[] args)
Menambahkan perintah ke penjadwal. |
void
|
addCommandFile(String cmdFilePath,
Menambahkan semua perintah dari file tertentu ke penjadwal |
void
|
await()
Menunggu penjadwal mulai berjalan, termasuk menunggu penyerahan dari TF lama selesai jika berlaku. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Buat pendelegasi berdasarkan command line untuk melihat apakah kita perlu mendelegasikan operasi. |
void
|
completeHandover()
Memberi tahu penjadwal perintah bahwa urutan penyerahan yang dimulai sudah lengkap, dan itu harus menginisialisasi ulang pengelola jarak jauhnya pada porta default. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Buat peta status perangkat agar dapat dirilis dengan tepat. |
ISandbox
|
createSandbox()
Buat |
void
|
displayCommandQueue(PrintWriter printWriter)
Menghasilkan info debug mendetail tentang status antrean eksekusi perintah. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Menghasilkan daftar perintah saat ini. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Menampilkan daftar pemanggilan saat ini. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Membuang file xml yang diperluas untuk perintah dengan semua
Nilai |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Jalankan perintah secara langsung di perangkat yang sudah dialokasikan. |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Langsung mengalokasikan perangkat dan mengeksekusi perintah tanpa menambahkannya ke antrean perintah
menggunakan |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Langsung mengalokasikan perangkat dan mengeksekusi perintah tanpa menambahkannya ke antrean perintah. |
CommandFileWatcher
|
getCommandFileWatcher()
Mendapatkan |
int
|
getExecutingCommandCount()
Menampilkan jumlah Perintah dalam status eksekusi. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Menampilkan informasi tentangbu pemanggilan yang menentukan ID pemanggilan. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Menampilkan kode error dari panggilan terakhir yang berjalan. |
Throwable
|
getLastInvocationThrowable()
Menampilkan |
int
|
getReadyCommandCount()
Menampilkan jumlah Perintah dalam status siap di antrean. |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
Memberi tahu penjadwal perintah bahwa penyerahan awal pertukaran perangkat dan perintah yang digunakan selesai, dan dapat memulai penjadwalan operasi. |
boolean
|
handoverShutdown(int handoverPort)
Memulai |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Hapus semua perintah dari penjadwal |
void
|
run()
Blok eksekusi utama dari thread ini. |
void
|
setClearcutClient(ClearcutClient client)
Menetapkan klien untuk melaporkan data memanfaatkan |
boolean
|
shouldShutdownOnCmdfileError()
Menampilkan true (benar) jika kita perlu mematikan penjadwal saat terjadi error perintah. |
void
|
shutdown()
Mencoba mematikan penjadwal perintah dengan baik. |
void
|
shutdownHard(boolean killAdb)
Mencoba mematikan penjadwal perintah secara paksa. |
void
|
shutdownHard()
Mencoba mematikan penjadwal perintah secara paksa. |
void
|
shutdownOnEmpty()
Mirip dengan |
void
|
start()
Memulai penjadwal termasuk penyiapan logging, init |
boolean
|
stopInvocation(ITestInvocation invocation)
Menghentikan pemanggilan yang berjalan. |
boolean
|
stopInvocation(int invocationId, String cause)
Hentikan pemanggilan yang sedang berjalan dengan menentukan ID-nya. |
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 factory untuk mendapatkan referensi ke |
IDeviceManager
|
getDeviceManager()
Metode factory untuk mendapatkan referensi ke |
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
Mengambil |
void
|
initLogging()
Melakukan inisialisasi log ddmlib. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
Tunggu hingga semua thread pemanggilan selesai. |
Konstruktor publik
Penjadwal Perintah
public CommandScheduler ()
Membuat CommandScheduler
.
Catatan: start harus dipanggil sebelum digunakan.
Metode publik
addCommand
public boolean addCommand (String[] args)
Menambahkan perintah ke penjadwal.
Perintah pada dasarnya adalah instance konfigurasi yang akan dijalankan dan argumen yang terkait dengannya.
Jika "--help" teks bantuan untuk konfigurasi akan ditampilkan di {i>stdout<i}. Jika tidak, konfigurasi akan ditambahkan ke antrean untuk akan dijalankan.
Parameter | |
---|---|
args |
String : argumen konfigurasi. |
Hasil | |
---|---|
boolean |
true jika perintah berhasil ditambahkan |
Menampilkan | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Menambahkan semua perintah dari file tertentu ke penjadwal
Parameter | |
---|---|
cmdFilePath |
String : jalur sistem file dari file perintah |
extraArgs |
: ERROR(/List) dari String argumen yang akan ditambahkan ke setiap perintah yang diuraikan
dari file. Boleh kosong namun tidak boleh nol. |
Menampilkan | |
---|---|
ConfigurationException |
menunggu
public void await ()
Menunggu penjadwal mulai berjalan, termasuk menunggu penyerahan dari TF lama selesai jika berlaku.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Buat pendelegasi berdasarkan command line untuk melihat apakah kita perlu mendelegasikan operasi.
Parameter | |
---|---|
args |
String |
Hasil | |
---|---|
TradefedDelegator |
Menampilkan | |
---|---|
ConfigurationException |
serah terima selesai
public void completeHandover ()
Memberi tahu penjadwal perintah bahwa urutan penyerahan yang dimulai sudah lengkap, dan itu harus menginisialisasi ulang pengelola jarak jauhnya pada porta default.
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Buat peta status perangkat agar dapat dirilis dengan tepat.
Parameter | |
---|---|
context |
IInvocationContext |
e |
Throwable |
Hasil | |
---|---|
|
buatSandbox
public ISandbox createSandbox ()
Buat ISandbox
yang akan digunakan pemanggilan untuk dijalankan.
Hasil | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Menghasilkan info debug mendetail tentang status antrean eksekusi perintah.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Menghasilkan daftar perintah saat ini.
Parameter | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) yang menjadi target output. |
regex |
String : ekspresi reguler yang harus dicocokkan dengan perintah agar
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 menjadi target output.
|
{i>dumpCommandsXml<i}
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Membuang file xml yang diperluas untuk perintah dengan semua
Nilai Option
ditetapkan untuk semua perintah saat ini.
Parameter | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) untuk menghasilkan status. |
regex |
String : ekspresi reguler yang harus dicocokkan dengan perintah agar jenis
file xml yang akan dibuang. Jika null, maka semua perintah akan dibuang.
|
{i>execCommand<i}
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Jalankan perintah secara langsung di perangkat yang sudah dialokasikan.
Parameter | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener yang akan diberi tahu |
device |
ITestDevice : ITestDevice yang akan digunakan |
args |
String : argumen perintah |
Menampilkan | |
---|---|
ConfigurationException |
{i>execCommand<i}
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Langsung mengalokasikan perangkat dan mengeksekusi perintah tanpa menambahkannya ke antrean perintah
menggunakan IInvocationContext
yang sudah ada.
Parameter | |
---|---|
context |
IInvocationContext : IInvocationContext yang sudah ada. |
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener yang akan diberi tahu |
args |
String : argumen perintah |
Menampilkan | |
---|---|
ConfigurationException |
|
NoDeviceException |
{i>execCommand<i}
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Langsung mengalokasikan perangkat dan mengeksekusi perintah tanpa menambahkannya ke antrean perintah.
Parameter | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener yang akan diberi tahu |
args |
String : argumen perintah |
Menampilkan | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Mendapatkan CommandFileWatcher
yang sesuai untuk penjadwal ini
Hasil | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Menampilkan jumlah Perintah dalam status eksekusi.
Hasil | |
---|---|
int |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Menampilkan informasi tentangbu pemanggilan yang menentukan ID pemanggilan.
Parameter | |
---|---|
invocationId |
int : ID pelacakan panggilan. |
Hasil | |
---|---|
String |
String yang berisi informasi tentang panggilan.
|
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Menampilkan kode error dari panggilan terakhir yang berjalan. Menampilkan 0 (tidak ada error), jika belum ada pemanggilan yang berjalan.
Hasil | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Menampilkan Throwable
dari pemanggilan terakhir yang berjalan.
Menampilkan null, jika tidak ada throwable yang tersedia.
Hasil | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Menampilkan jumlah Perintah dalam status siap di antrean.
Hasil | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
Hasil | |
---|---|
long |
handoverInitiationComplete
public void handoverInitiationComplete ()
Memberi tahu penjadwal perintah bahwa penyerahan awal pertukaran perangkat dan perintah yang digunakan selesai, dan dapat memulai penjadwalan operasi.
serah terima Matikan
public boolean handoverShutdown (int handoverPort)
Memulai shutdown()
dan menyerahkan ke proses yang dikompromikan lainnya pada host yang sama ini.
Penjadwal akan menginformasikan proses transfer jarak jauh yang memproses port perangkat yang dilepaskan saat tersedia.
Parameter | |
---|---|
handoverPort |
int |
Hasil | |
---|---|
boolean |
true jika inisiasi serah terima berhasil, false
sebaliknya
|
AlertsFileChanges
public void notifyFileChanged (File cmdFile,extraArgs)
Parameter | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Hapus semua perintah dari penjadwal
lari
public void run ()
Blok eksekusi utama dari thread ini.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
Menetapkan klien untuk melaporkan data memanfaatkan
Parameter | |
---|---|
client |
ClearcutClient |
seharusnyaShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Menampilkan true (benar) jika kita perlu mematikan penjadwal saat terjadi error perintah.
Hasil | |
---|---|
boolean |
matikan
public void shutdown ()
Mencoba mematikan penjadwal perintah dengan baik.
Menghapus perintah yang menunggu untuk diuji, dan meminta semua pemanggilan yang sedang berlangsung mematikannya dengan baik.
Setelah penonaktifan dipanggil, loop utama penjadwal akan menunggu semua panggilan yang sedang berlangsung untuk diselesaikan sebelum keluar sepenuhnya.
shutdownHard
public void shutdownHard (boolean killAdb)
Mencoba mematikan penjadwal perintah secara paksa.
Serupa dengan shutdown()
, tetapi juga akan secara opsional mematikan koneksi adb, dalam
berupaya untuk 'menginspirasi' pemanggilan yang sedang berlangsung agar
selesai lebih cepat.
Parameter | |
---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
Mencoba mematikan penjadwal perintah secara paksa. Sama seperti shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
Mirip dengan shutdown()
, tetapi akan menunggu semua perintah dijalankan
sebelum keluar.
Perhatikan bahwa jika ada perintah dalam mode loop, penjadwal tidak akan pernah keluar.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Menghentikan pemanggilan yang berjalan.
Parameter | |
---|---|
invocation |
ITestInvocation |
Hasil | |
---|---|
boolean |
true jika panggilan dihentikan, false jika tidak |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
Hentikan pemanggilan yang sedang berjalan dengan menentukan ID-nya.
Parameter | |
---|---|
invocationId |
int : ID pelacakan panggilan. |
cause |
String : penyebab menghentikan pemanggilan. |
Hasil | |
---|---|
boolean |
true jika panggilan dihentikan, false jika tidak |
Metode yang dilindungi
pembersihan
protected void cleanUp ()
Menutup log dan melakukan pembersihan lain yang diperlukan sebelum kita keluar.
Diekspos sehingga pengujian unit dapat meniru.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Parameter | |
---|---|
args |
String |
Hasil | |
---|---|
IConfiguration |
Menampilkan | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
Hasil | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
Metode factory untuk mendapatkan referensi ke IConfigurationFactory
Hasil | |
---|---|
IConfigurationFactory |
IConfigurationFactory untuk digunakan
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
Metode factory untuk mendapatkan referensi ke IDeviceManager
Hasil | |
---|---|
IDeviceManager |
IDeviceManager untuk digunakan
|
getHostOptions
protected IHostOptions getHostOptions ()
Hasil | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
Mengambil IKeyStoreClient
menggunakan IKeyStoreFactory
dideklarasikan dalam IGlobalConfiguration
atau null jika tidak ada yang ditentukan.
Hasil | |
---|---|
IKeyStoreClient |
KlienIKeyStore |
initLogging
protected void initLogging ()
Melakukan inisialisasi log ddmlib.
Diekspos sehingga pengujian unit dapat meniru.
dimatikan
protected boolean isShutdown ()
Hasil | |
---|---|
boolean |
Mematikan
protected boolean isShuttingDown ()
Hasil | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parameter | |
---|---|
manager |
IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Tunggu hingga semua thread pemanggilan selesai.