Komut Planlayıcı
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
Mevcut tüm cihazlarda TradeFederation komutlarını çalıştırmak için bir zamanlayıcı.
Yürütme sürelerinin toplam çalışma sayısına göre çalıştırılacak komutlara öncelik vermeye çalışır. örneğin seyrek veya hızlı çalışan komutlar, uzun süre çalışan komutlara göre öncelik kazanır.
Kapatılana kadar sonsuza kadar arka planda çalışır.
Özet
kamu inşaatçılar | |
---|---|
CommandScheduler () Bir |
Genel yöntemler | |
---|---|
Pair <Boolean, Integer> | addCommand (String[] args) Zamanlayıcıya bir komut ekler. |
void | addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs) Verilen dosyadaki tüm komutları zamanlayıcıya ekler |
void | await () Varsa, eski TF'den aktarımın tamamlanmasını beklemek de dahil olmak üzere zamanlayıcının çalışmaya başlamasını bekler. |
static TradefedDelegator | checkDelegation (String[] args) Çalıştırmayı devretmemiz gerekip gerekmediğini görmek için komut satırına dayalı bir temsilci oluşturun. |
static | createReleaseMap ( IInvocationContext context, Throwable e) Uygun şekilde yayınlanabilmeleri için cihazların durumunun bir haritasını oluşturun. |
ISandbox | createSandbox () Çağırmanın çalıştırmak için kullanacağı bir |
void | displayCommandQueue (PrintWriter printWriter) Komut yürütme kuyruğunun durumu hakkında ayrıntılı hata ayıklama bilgilerinin çıktısını alın. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) Mevcut komutların bir listesini çıkarın. |
void | displayInvocationsInfo (PrintWriter printWriter) Geçerli çağrıların bir listesini görüntüler. |
void | dumpCommandsXml (PrintWriter printWriter, String regex) Geçerli tüm komutlar için belirtilen tüm |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) Zaten tahsis edilmiş cihazlarda doğrudan komut yürütün. |
long | execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Doğrudan bir aygıtı tahsis eder ve zaten var olan bir |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) Bir aygıtı doğrudan tahsis eder ve bir komutu komut sırasına eklemeden yürütür. |
CommandFileWatcher | getCommandFileWatcher () Bu zamanlayıcı için uygun CommandFileWatcher'ı edinin |
int | getExecutingCommandCount () Yürütme durumundaki Komutların sayısını döndürür. |
CommandScheduler.HostState | getHostState () |
String | getInvocationInfo (int invocationId) Çağırma kimliğini belirten bir çağrıyla ilgili bilgileri döndürün. |
CommandRunner.ExitCode | getLastInvocationExitCode () Çalışan son çağrının hata kodunu döndürün. |
Throwable | getLastInvocationThrowable () Çalışan son çağrıdan |
int | getReadyCommandCount () Sıradaki hazır durumdaki Komutların sayısını döndürür. |
long | getShutdownTimeout () |
boolean | isDeviceInInvocationThread ( ITestDevice device) Aygıt etkin bir çağırma iş parçacığı tarafından kullanılıyorsa true değerini döndürür. |
boolean | isShuttingDown () |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () Zamanlayıcıdan tüm komutları kaldır |
void | run () Bu iş parçacığının ana yürütme bloğu. |
void | setClearcutClient (ClearcutClient client) İstemciyi kablo demeti verilerini rapor edecek şekilde ayarlayın |
boolean | shouldShutdownOnCmdfileError () Komut hatalarında zamanlayıcıyı kapatmamız gerekirse true döndürün |
void | shutdown (boolean notifyStop) Komut zamanlayıcıyı incelikle kapatmayı deneyin. |
void | shutdownHard (boolean killAdb) Komut zamanlayıcıyı zorla kapatmayı deneyin. |
void | shutdownHard () Komut zamanlayıcıyı zorla kapatmayı deneyin. |
void | shutdownOnEmpty () |
void | start () Günlüğe kaydetmenin ayarlanması, |
boolean | stopInvocation ( ITestInvocation invocation) Çalışan bir çağrıyı durdurun. |
boolean | stopInvocation (int invocationId, String cause) Kimliğini belirterek çalışan bir çağrıyı durdurun. |
kamu inşaatçılar
Komut Planlayıcı
public CommandScheduler ()
Bir CommandScheduler
oluşturur.
Not: start kullanılmadan önce çağrılmalıdır.
Genel yöntemler
komut ekle
public Pair<Boolean, Integer> addCommand (String[] args)
Zamanlayıcıya bir komut ekler.
Bir komut, esas olarak, çalıştırılacak bir konfigürasyonun ve bununla ilişkili bağımsız değişkenlerin bir örneğidir.
"--help" bağımsız değişkeni belirtilirse, yapılandırma için yardım metni stdout'a gönderilir. Aksi takdirde, yapılandırma çalıştırılacak kuyruğa eklenecektir.
parametreler | |
---|---|
args | String : yapılandırma bağımsız değişkenleri. |
İadeler | |
---|---|
Pair <Boolean, Integer> | Bir çift değer, komut başarıyla eklendiyse ilk değer bir Boolean true . İkinci değer, bilinen komut izleyici kimliğidir (negatif olmayan değer), komut başarıyla eklendiyse, tüm cihazlar için komut eklendiğinde 0, aksi takdirde -1 döndürür. |
Atar | |
---|---|
ConfigurationException |
komut dosyası ekle
public void addCommandFile (String cmdFilePath,extraArgs)
Verilen dosyadaki tüm komutları zamanlayıcıya ekler
parametreler | |
---|---|
cmdFilePath | String : komut dosyasının dosya sistemi yolu |
extraArgs | String bağımsız değişkenlerinden oluşan bir ERROR(/List) . Boş olabilir ancak boş olmamalıdır. |
Atar | |
---|---|
ConfigurationException |
beklemek
public void await ()
Varsa, eski TF'den aktarımın tamamlanmasını beklemek de dahil olmak üzere zamanlayıcının çalışmaya başlamasını bekler.
yetkilendirmeyi kontrol et
public static TradefedDelegator checkDelegation (String[] args)
Çalıştırmayı devretmemiz gerekip gerekmediğini görmek için komut satırına dayalı bir temsilci oluşturun.
parametreler | |
---|---|
args | String |
İadeler | |
---|---|
TradefedDelegator |
Atar | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |
ReleaseMap oluştur
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Uygun şekilde yayınlanabilmeleri için cihazların durumunun bir haritasını oluşturun.
parametreler | |
---|---|
context | IInvocationContext |
e | Throwable |
İadeler | |
---|---|
sandbox oluştur
public ISandbox createSandbox ()
Çağırmanın çalıştırmak için kullanacağı bir ISandbox
oluşturun.
İadeler | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Komut yürütme kuyruğunun durumu hakkında ayrıntılı hata ayıklama bilgilerinin çıktısını alın.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Mevcut komutların bir listesini çıkarın.
parametreler | |
---|---|
printWriter | PrintWriter : çıktı alınacak ERROR(/PrintWriter) . |
regex | String : Yazdırılmak için komutların eşleşmesi gereken normal ifade. Null ise, tüm komutlar yazdırılacaktır. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Geçerli çağrıların bir listesini görüntüler.
parametreler | |
---|---|
printWriter | PrintWriter : çıktı alınacak ERROR(/PrintWriter) . |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Geçerli tüm komutlar için belirtilen tüm Option
değerleri ile komut için genişletilmiş xml dosyasını boşaltın.
parametreler | |
---|---|
printWriter | PrintWriter : Durumun çıkışının yapılacağı ERROR(/PrintWriter) . |
regex | String : xml dosyasının boşaltılması için komutların eşleşmesi gereken normal ifade. Null ise, tüm komutlar atılacaktır. |
yürütme komutu
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Zaten tahsis edilmiş cihazlarda doğrudan komut yürütün.
parametreler | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
reservedDevices | ERROR(/List ) ERROR(/List ) kullanmak |
args | String : komut bağımsız değişkenleri |
İadeler | |
---|---|
long | Zamanlanan komutun çağırma kimliği. |
Atar | |
---|---|
ConfigurationException |
yürütme komutu
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Doğrudan bir aygıtı tahsis eder ve zaten var olan bir IInvocationContext
kullanarak komut sırasına eklemeden bir komutu yürütür.
parametreler | |
---|---|
context | IInvocationContext : mevcut bir IInvocationContext . |
listener | ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args | String : komut bağımsız değişkenleri |
İadeler | |
---|---|
long |
Atar | |
---|---|
ConfigurationException | |
NoDeviceException |
yürütme komutu
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Bir aygıtı doğrudan tahsis eder ve bir komutu komut sırasına eklemeden yürütür.
parametreler | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args | String : komut bağımsız değişkenleri |
İadeler | |
---|---|
long | Zamanlanan komutun çağırma kimliği. |
Atar | |
---|---|
ConfigurationException | |
NoDeviceException |
GetCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Bu zamanlayıcı için uygun CommandFileWatcher'ı edinin
İadeler | |
---|---|
CommandFileWatcher |
GetExecutingCommandCount
public int getExecutingCommandCount ()
Yürütme durumundaki Komutların sayısını döndürür.
İadeler | |
---|---|
int |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Çağırma kimliğini belirten bir çağrıyla ilgili bilgileri döndürün.
parametreler | |
---|---|
invocationId | int : çağrının izleme kimliği. |
İadeler | |
---|---|
String | Çağrı hakkında bilgi içeren bir String . |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Çalışan son çağrının hata kodunu döndürün. Henüz bir çağrı yapılmadıysa 0 (hata yok) döndürün.
İadeler | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Çalışan son çağrıdan Throwable
geri getirin. Fırlatılabilir yoksa null döndürün.
İadeler | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Sıradaki hazır durumdaki Komutların sayısını döndürür.
İadeler | |
---|---|
int |
getShutdownZaman Aşımı
public long getShutdownTimeout ()
İadeler | |
---|---|
long |
isDeviceInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Aygıt etkin bir çağırma iş parçacığı tarafından kullanılıyorsa true değerini döndürür.
parametreler | |
---|---|
device | ITestDevice |
İadeler | |
---|---|
boolean |
Kapanıyor
public boolean isShuttingDown ()
İadeler | |
---|---|
boolean |
bildirFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
parametreler | |
---|---|
cmdFile | File |
extraArgs |
Tüm Komutları kaldır
public void removeAllCommands ()
Zamanlayıcıdan tüm komutları kaldır
koşmak
public void run ()
Bu iş parçacığının ana yürütme bloğu.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
İstemciyi kablo demeti verilerini rapor edecek şekilde ayarlayın
parametreler | |
---|---|
client | ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Komut hatalarında zamanlayıcıyı kapatmamız gerekirse true döndürün
İadeler | |
---|---|
boolean |
kapat
public void shutdown (boolean notifyStop)
Komut zamanlayıcıyı incelikle kapatmayı deneyin.
parametreler | |
---|---|
notifyStop | boolean : doğruysa, TF kapatma çağrılarını bildirir. |
kapatmaZor
public void shutdownHard (boolean killAdb)
Komut zamanlayıcıyı zorla kapatmayı deneyin.
shutdown()
a benzer, ancak isteğe bağlı olarak, devam eden çağrıların daha hızlı tamamlanması için 'ilham verme' amacıyla adb bağlantısını da keser.
parametreler | |
---|---|
killAdb | boolean |
kapatmaZor
public void shutdownHard ()
Komut zamanlayıcıyı zorla kapatmayı deneyin. shutdownHard(true) ile aynı.
kapatmaOnEmpty
public void shutdownOnEmpty ()
shutdown()
benzer, ancak bunun yerine çıkmadan önce tüm komutların yürütülmesini bekler.
başlangıç
public void start ()
Günlüğe kaydetmenin ayarlanması, DeviceManager
başlatılması vb. dahil olmak üzere zamanlayıcıyı başlatır
çağrıyı durdur
public boolean stopInvocation (ITestInvocation invocation)
Çalışan bir çağrıyı durdurun.
parametreler | |
---|---|
invocation | ITestInvocation |
İadeler | |
---|---|
boolean | çağrı durdurulduysa true, aksi takdirde false |
çağrıyı durdur
public boolean stopInvocation (int invocationId, String cause)
Kimliğini belirterek çalışan bir çağrıyı durdurun.
parametreler | |
---|---|
invocationId | int : çağrının izleme kimliği. |
cause | String : çağrıyı durdurma nedeni. |
İadeler | |
---|---|
boolean | çağrı durdurulduysa true, aksi takdirde false |
Korumalı yöntemler
Temizlemek
protected void cleanUp ()
Biz çıkmadan önce günlükleri kapatır ve gerekli diğer temizleme işlemlerini yapar.
Birim testlerinin alay edebilmesi için açığa çıktı.
yapılandırma oluştur
protected IConfiguration createConfiguration (String[] args)
parametreler | |
---|---|
args | String |
İadeler | |
---|---|
IConfiguration |
Atar | |
---|---|
ConfigurationException |
çağrı bağlamı oluştur
protected IInvocationContext createInvocationContext ()
İadeler | |
---|---|
IInvocationContext |
yürütme komutu
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
parametreler | |
---|---|
context | IInvocationContext |
listener | ICommandScheduler.IScheduledInvocationListener |
reservedDevices | |
args | String |
İadeler | |
---|---|
long |
Atar | |
---|---|
ConfigurationException |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
IConfigurationFactory
başvuru almak için fabrika yöntemi
İadeler | |
---|---|
IConfigurationFactory | kullanılacak IConfigurationFactory |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
İadeler | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
IDeviceManager
referans almak için fabrika yöntemi
İadeler | |
---|---|
IDeviceManager | kullanılacak IDeviceManager |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
IGlobalConfiguration
içinde bildirilen IKeyStoreFactory
veya hiçbiri tanımlanmamışsa null'u kullanarak bir IKeyStoreClient
getirir.
İadeler | |
---|---|
IKeyStoreClient | IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
İadeler | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
ddmlib günlüğünü başlatır.
Birim testlerinin alay edebilmesi için açığa çıktı.
Kapatma
protected boolean isShutdown ()
İadeler | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
parametreler | |
---|---|
manager | IDeviceManager |