Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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 eksekusi yang dijalankan. misalnya perintah yang jarang atau berjalan cepat akan diprioritaskan daripada perintah yang berjalan lama.

Berjalan selamanya di latar belakang hingga dimatikan.

Ringkasan

Kelas bersarang

enum CommandScheduler.HostState

Enum dengan status host yang berbeda

Konstruktor publik

CommandScheduler ()

Membuat CommandScheduler .

Metode publik

Pair <Boolean, Integer> 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 delegator berdasarkan baris perintah untuk melihat apakah kita perlu mendelegasikan proses.

static createReleaseMap ( IInvocationContext context, Throwable e)

Buat peta status perangkat sehingga dapat dirilis dengan tepat.

ISandbox createSandbox ()

Buat ISandbox yang akan digunakan untuk menjalankan permintaan.

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 permintaan saat ini.

void dumpCommandsXml (PrintWriter printWriter, String regex)

Buang file xml yang diperluas untuk perintah dengan semua nilai Option yang ditentukan untuk semua perintah saat ini.

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah menggunakan IInvocationContext yang sudah ada.

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah.

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

Langsung jalankan perintah pada perangkat yang sudah dialokasikan.

CommandFileWatcher getCommandFileWatcher ()

Dapatkan CommandFileWatcher yang sesuai untuk penjadwal ini

int getExecutingCommandCount ()

Mengembalikan jumlah Perintah dalam keadaan eksekusi.

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

Mengembalikan informasi tentang doa bu dengan menentukan id doa.

CommandRunner.ExitCode getLastInvocationExitCode ()

Kembalikan kode kesalahan dari permintaan terakhir yang dijalankan.

Throwable getLastInvocationThrowable ()

Kembalikan Throwable dari permintaan terakhir yang dijalankan.

int getReadyCommandCount ()

Mengembalikan jumlah Perintah dalam keadaan siap dalam antrian.

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

Mengembalikan nilai true jika perangkat digunakan oleh utas pemanggilan aktif.

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

Hapus semua perintah dari penjadwal

void run ()

Blok eksekusi utama dari utas ini.

void setClearcutClient (ClearcutClient client)

Atur klien untuk melaporkan data harness

boolean shouldShutdownOnCmdfileError ()

Kembalikan true jika kita perlu mematikan penjadwal pada kesalahan perintah

void shutdown (boolean notifyStop)

Cobalah untuk mematikan penjadwal perintah dengan anggun.

void shutdownHard (boolean killAdb)

Cobalah untuk mematikan penjadwal perintah secara paksa.

void shutdownHard ()

Cobalah untuk mematikan penjadwal perintah secara paksa.

void shutdownOnEmpty ()

Mirip dengan shutdown() , tetapi akan menunggu semua perintah dieksekusi sebelum keluar.

void start ()

Mulai penjadwal termasuk pengaturan logging, init dari DeviceManager dll

boolean stopInvocation (int invocationId, String cause)

Hentikan permintaan yang sedang berjalan dengan menentukan id-nya.

boolean stopInvocation ( ITestInvocation invocation)

Hentikan permintaan yang sedang berjalan.

Metode yang dilindungi

void cleanUp ()

Menutup log dan melakukan pembersihan lain yang diperlukan sebelum kita berhenti.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

Metode pabrik untuk mendapatkan referensi ke IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

Metode pabrik untuk mendapatkan referensi ke IDeviceManager

TradefedFeatureServer getFeatureServer ()
IHostOptions getHostOptions ()
IKeyStoreClient getKeyStoreClient ()

Mengambil IKeyStoreClient menggunakan IKeyStoreFactory yang dideklarasikan di IGlobalConfiguration atau null jika tidak ada yang ditentukan.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

Menginisialisasi log ddmlib.

boolean isShutdown ()
boolean isShuttingDown ()
void processReadyCommands ( IDeviceManager manager)

Konstruktor publik

Penjadwal Perintah

public CommandScheduler ()

Membuat CommandScheduler .

Catatan: start harus dipanggil sebelum digunakan.

Metode publik

tambahkanPerintah

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

Menambahkan perintah ke penjadwal.

Perintah pada dasarnya adalah turunan dari konfigurasi untuk dijalankan dan argumen terkaitnya.

Jika argumen "--help" ditentukan, teks bantuan untuk konfigurasi akan dikeluarkan ke stdout. Jika tidak, konfigurasi akan ditambahkan ke antrian untuk dijalankan.

Parameter
args String : argumen konfigurasi.

Kembali
Pair <Boolean, Integer> Sepasang nilai, nilai pertama adalah Boolean true jika perintah berhasil ditambahkan. Nilai kedua adalah id pelacak perintah yang diketahui (nilai non-negatif) jika perintah berhasil ditambahkan, kembalikan 0 saat perintah ditambahkan untuk semua perangkat, jika tidak -1.

Melempar
ConfigurationException

addCommandFile

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 : a 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.

cekDelegasi

public static TradefedDelegator checkDelegation (String[] args)

Buat delegator berdasarkan baris perintah untuk melihat apakah kita perlu mendelegasikan proses.

Parameter
args String

Kembali
TradefedDelegator

Melempar
ConfigurationException

buatPeta Rilis

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Buat peta status perangkat sehingga dapat dirilis dengan tepat.

Parameter
context IInvocationContext

e Throwable

Kembali

buat Kotak Pasir

public ISandbox createSandbox ()

Buat ISandbox yang akan digunakan untuk menjalankan permintaan.

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 dihasilkan.

regex String : ekspresi reguler yang perintahnya harus dicocokkan untuk dicetak. Jika null, maka semua perintah akan dicetak.

tampilanInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Menampilkan daftar permintaan saat ini.

Parameter
printWriter PrintWriter : ERROR(/PrintWriter) yang akan dihasilkan.

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 dibuang. Jika null, maka semua perintah akan dibuang.

perintah eksekutif

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah menggunakan IInvocationContext yang sudah ada.

Parameter
context IInvocationContext : IInvocationContext yang sudah ada .

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener akan diinformasikan

args String : argumen perintah

Kembali
long

Melempar
ConfigurationException
NoDeviceException

perintah eksekutif

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

Mengalokasikan perangkat secara langsung dan menjalankan perintah tanpa menambahkannya ke antrean perintah.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener akan diinformasikan

args String : argumen perintah

Kembali
long Id permintaan dari perintah terjadwal.

Melempar
ConfigurationException
NoDeviceException

perintah eksekutif

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

Langsung jalankan perintah pada perangkat yang sudah dialokasikan.

Parameter
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener akan diinformasikan

device ITestDevice : ITestDevice untuk digunakan

args String : argumen perintah

Kembali
long Id permintaan dari perintah terjadwal.

Melempar
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Dapatkan CommandFileWatcher yang sesuai untuk penjadwal ini

Kembali
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Mengembalikan jumlah Perintah dalam keadaan eksekusi.

Kembali
int

getHostState

public CommandScheduler.HostState getHostState ()

Kembali
CommandScheduler.HostState

dapatkanInvocationInfo

public String getInvocationInfo (int invocationId)

Mengembalikan informasi tentang doa bu dengan menentukan id doa.

Parameter
invocationId int : id pelacakan dari pemanggilan.

Kembali
String String yang berisi informasi tentang pemanggilan.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Kembalikan kode kesalahan dari permintaan terakhir yang dijalankan. Kembalikan 0 (tidak ada kesalahan), jika belum ada pemanggilan yang dijalankan.

Kembali
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Kembalikan Throwable dari permintaan terakhir yang dijalankan. Kembalikan nol, jika tidak ada barang yang bisa dibuang.

Kembali
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Mengembalikan jumlah Perintah dalam keadaan siap dalam antrian.

Kembali
int

getShutdownTimeout

public long getShutdownTimeout ()

Kembali
long

isDeviceInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

Mengembalikan nilai true jika perangkat digunakan oleh utas pemanggilan aktif.

Parameter
device ITestDevice

Kembali
boolean

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Parameter
cmdFile File

extraArgs

hapusSemuaPerintah

public void removeAllCommands ()

Hapus semua perintah dari penjadwal

Lari

public void run ()

Blok eksekusi utama dari utas ini.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Atur klien untuk melaporkan data harness

Parameter
client ClearcutClient

harusShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Kembalikan true jika kita perlu mematikan penjadwal pada kesalahan perintah

Kembali
boolean

mematikan

public void shutdown (boolean notifyStop)

Cobalah untuk mematikan penjadwal perintah dengan anggun.

Parameter
notifyStop boolean : jika benar, memberitahukan pemanggilan TF shutdown.

shutdownHard

public void shutdownHard (boolean killAdb)

Cobalah untuk mematikan penjadwal perintah secara paksa.

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

shutdownHard

public void shutdownHard ()

Cobalah untuk mematikan penjadwal perintah secara paksa. Sama seperti shutdownHard(true).

shutdownOnEmpty

public void shutdownOnEmpty ()

Mirip dengan shutdown() , tetapi akan menunggu semua perintah dieksekusi sebelum keluar.

Perhatikan bahwa jika ada perintah dalam mode loop, penjadwal tidak akan pernah keluar.

Mulailah

public void start ()

Mulai penjadwal termasuk pengaturan logging, init dari DeviceManager dll

hentikan Doa

public boolean stopInvocation (int invocationId, 
                String cause)

Hentikan permintaan yang sedang berjalan dengan menentukan id-nya.

Parameter
invocationId int : id pelacakan dari pemanggilan.

cause String : penyebab untuk menghentikan pemanggilan.

Kembali
boolean benar jika pemanggilan dihentikan, salah jika sebaliknya

hentikan Doa

public boolean stopInvocation (ITestInvocation invocation)

Hentikan permintaan yang sedang berjalan.

Parameter
invocation ITestInvocation

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 berhenti.

Diekspos sehingga tes unit dapat mengejek.

buatKonfigurasi

protected IConfiguration createConfiguration (String[] args)

Parameter
args String

Kembali
IConfiguration

Melempar
ConfigurationException

buatKonteksPemanggilan

protected IInvocationContext createInvocationContext ()

Kembali
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Metode pabrik untuk mendapatkan referensi ke IConfigurationFactory

Kembali
IConfigurationFactory IConfigurationFactory untuk digunakan

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

Kembali
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

Metode pabrik untuk mendapatkan referensi ke IDeviceManager

Kembali
IDeviceManager IDeviceManager untuk digunakan

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Kembali
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Kembali
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Mengambil IKeyStoreClient menggunakan IKeyStoreFactory yang dideklarasikan di IGlobalConfiguration atau null jika tidak ada yang ditentukan.

Kembali
IKeyStoreClient IKeyStoreKlien

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

Kembali
TestInvocationManagementServer

initLogging

protected void initLogging ()

Menginisialisasi log ddmlib.

Diekspos sehingga tes unit dapat mengejek.

adalah Shutdown

protected boolean isShutdown ()

Kembali
boolean

sedangMatikan

protected boolean isShuttingDown ()

Kembali
boolean

prosesSiapPerintah

protected void processReadyCommands (IDeviceManager manager)

Parameter
manager IDeviceManager