Komut Zamanlayıcı
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
TradeFederation komutlarını mevcut tüm cihazlarda ç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ışacaktır. örneğin, seyrek veya hızlı çalışan komutlar, uzun süren komutlara göre önceliklendirilecektir.
Kapatılana kadar arka planda sonsuza kadar ç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 devir teslimin tamamlanmasının beklenmesi 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ını temel alan bir delegatör 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ğrının çalıştırmak için kullanacağı bir |
void | displayCommandQueue (PrintWriter printWriter) Komut yürütme kuyruğunun durumuna ilişkin ayrıntılı hata ayıklama bilgilerinin çıktısını alın. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) Geçerli komutların bir listesinin çıktısını alın. |
void | displayInvocationsInfo (PrintWriter printWriter) Geçerli çağrıların listesini görüntüler. |
void | dumpCommandsXml (PrintWriter printWriter, String regex) Komutun genişletilmiş xml dosyasını, tüm geçerli 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 komutu doğrudan yürütün. |
long | execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) Bir cihazı doğrudan tahsis eder ve zaten var olan bir |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) Bir cihazı doğrudan tahsis eder ve bir komutu, komut kuyruğuna 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ğrı kimliğini belirten bir çağrı veriyoluna ilişkin bilgileri döndürün. |
CommandRunner.ExitCode | getLastInvocationExitCode () Çalıştırılan son çağrının hata kodunu döndürün. |
Throwable | getLastInvocationThrowable () Çalıştırılan 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) Cihaz 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ıdaki tüm komutları kaldır |
void | run () Bu iş parçacığının ana yürütme bloğu. |
void | setClearcutClient (ClearcutClient client) İstemciyi donanım verilerini rapor edecek şekilde ayarlayın |
boolean | shouldShutdownOnCmdfileError () Bir komut hatasında zamanlayıcıyı kapatmamız gerekirse true değerini döndürün |
void | shutdown (boolean notifyStop) Komut zamanlayıcıyı düzgün bir şekilde 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) Çalışan bir çağrıyı kimliğini belirterek durdurun. |
void | stopScheduling () Yeni testler planlamayı ve kabul etmeyi durdurur ancak Tradefed'i durdurmaz. |
Kamu inşaatçıları
Komut Zamanlayıcı
public CommandScheduler ()
Bir CommandScheduler
oluşturur.
Not: start kullanılmadan önce çağrılmalıdır.
Genel yöntemler
addKomut
public Pair<Boolean, Integer> addCommand (String[] args)
Zamanlayıcıya bir komut ekler.
Bir komut aslında çalıştırılacak bir yapılandırmanın ve bununla ilişkili bağımsız değişkenlerin bir örneğidir.
Eğer "--help" argümanı belirtilirse yapılandırmanın yardım metni stdout'a aktarılacaktır. Aksi takdirde, yapılandırma çalıştırılmak üzere kuyruğa eklenecektir.
Parametreler | |
---|---|
args | String : yapılandırma argümanları. |
İadeler | |
---|---|
Pair <Boolean, Integer> | Bir değer çifti; komut başarıyla eklenmişse ilk değer Boolean true . İkinci değer, bilinen komut izleyici kimliğidir (negatif olmayan değer), eğer komut başarıyla eklenmişse, tüm cihazlar için komut eklendiğinde 0 değerini, aksi halde -1 değerini döndürün. |
Atar | |
---|---|
ConfigurationException |
komutDosyası 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 null olmamalıdır. |
Atar | |
---|---|
ConfigurationException |
beklemek
public void await ()
Varsa, eski TF'den devir teslimin tamamlanmasının beklenmesi de dahil olmak üzere zamanlayıcının çalışmaya başlamasını bekler.
kontrolYetkili
public static TradefedDelegator checkDelegation (String[] args)
Çalıştırmayı devretmemiz gerekip gerekmediğini görmek için komut satırını temel alan bir delegatör oluşturun.
Parametreler | |
---|---|
args | String |
İadeler | |
---|---|
TradefedDelegator |
Atar | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |
CreateReleaseMap
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ğrını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 durumuna ilişkin ayrıntılı hata ayıklama bilgilerinin çıktısını alın.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Geçerli komutların bir listesinin çıktısını alın.
Parametreler | |
---|---|
printWriter | PrintWriter : çıktının alınacağı ERROR(/PrintWriter) . |
regex | String : yazdırılabilmesi için komutların eşleştirilmesi gereken normal ifade. Eğer null ise tüm komutlar yazdırılacaktır. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Geçerli çağrıların listesini görüntüler.
Parametreler | |
---|---|
printWriter | PrintWriter : çıktının alınacağı ERROR(/PrintWriter) . |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Komutun genişletilmiş xml dosyasını, tüm geçerli komutlar için belirtilen tüm Option
değerleriyle birlikte boşaltın.
Parametreler | |
---|---|
printWriter | PrintWriter : Durumun çıktısının alınacağı ERROR(/PrintWriter) . |
regex | String : xml dosyasının boşaltılması için komutların eşleştirilmesi gereken normal ifade. Eğer null ise tüm komutlar atılacaktır. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Zaten tahsis edilmiş cihazlarda komutu doğrudan yürütün.
Parametreler | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
reservedDevices | ERROR(/List ) ERROR(/List ) kullanmak |
args | String : komut argümanları |
İadeler | |
---|---|
long | Zamanlanan komutun çağrı kimliği. |
Atar | |
---|---|
ConfigurationException |
execCommand
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Bir cihazı doğrudan tahsis eder ve zaten var olan bir IInvocationContext
kullanarak bir komutu komut kuyruğuna eklemeden yürütür.
Parametreler | |
---|---|
context | IInvocationContext : mevcut bir IInvocationContext . |
listener | ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args | String : komut argümanları |
İadeler | |
---|---|
long |
Atar | |
---|---|
ConfigurationException | |
NoDeviceException |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Bir cihazı doğrudan tahsis eder ve bir komutu, komut kuyruğuna eklemeden yürütür.
Parametreler | |
---|---|
listener | ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args | String : komut argümanları |
İadeler | |
---|---|
long | Zamanlanan komutun çağrı 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 |
getInvokasyonBilgisi
public String getInvocationInfo (int invocationId)
Çağrı kimliğini belirten bir çağrı veriyoluna ilişkin 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 . |
getLastInvokasyonExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Çalıştırılan son çağrının hata kodunu döndürün. Henüz bir çağrı yapılmadıysa 0 (hata yok) değerini döndürün.
İadeler | |
---|---|
CommandRunner.ExitCode |
getLastInvokasyonAtılabilir
public Throwable getLastInvocationThrowable ()
Çalıştırılan son çağrıdan Throwable
döndür. Atılabilir bir şey yoksa null değerini 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 |
getShutdownTimeout
public long getShutdownTimeout ()
İadeler | |
---|---|
long |
isDeviceInInvokasyonThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Cihaz etkin bir çağırma iş parçacığı tarafından kullanılıyorsa true değerini döndürür.
Parametreler | |
---|---|
device | ITestDevice |
İadeler | |
---|---|
boolean |
Kapatılıyor
public boolean isShuttingDown ()
İadeler | |
---|---|
boolean |
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Parametreler | |
---|---|
cmdFile | File |
extraArgs |
Tüm Komutları kaldır
public void removeAllCommands ()
Zamanlayıcıdaki 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 donanım verilerini rapor edecek şekilde ayarlayın
Parametreler | |
---|---|
client | ClearcutClient |
ShouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Bir komut hatasında zamanlayıcıyı kapatmamız gerekirse true değerini döndürün
İadeler | |
---|---|
boolean |
kapat
public void shutdown (boolean notifyStop)
Komut zamanlayıcıyı düzgün bir şekilde kapatmayı deneyin.
Parametreler | |
---|---|
notifyStop | boolean : doğruysa, TF kapatma çağrılarını bildirir. |
kapatmaSert
public void shutdownHard (boolean killAdb)
Komut zamanlayıcıyı zorla kapatmayı deneyin.
shutdown()
işlevine benzer, ancak aynı zamanda devam eden çağrıların daha hızlı tamamlanması için 'ilham vermek' amacıyla isteğe bağlı olarak adb bağlantısını da keser.
Parametreler | |
---|---|
killAdb | boolean |
kapatmaSert
public void shutdownHard ()
Komut zamanlayıcıyı zorla kapatmayı deneyin. kapatmaHard(true) ile aynı.
kapatmaOnEmpty
public void shutdownOnEmpty ()
shutdown()
işlevine benzer, ancak bunun yerine çıkmadan önce tüm komutların yürütülmesini bekleyecektir.
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ğırma durdurulduysa doğru, aksi halde yanlış |
çağrıyı durdur
public boolean stopInvocation (int invocationId, String cause)
Çalışan bir çağrıyı kimliğini belirterek durdurun.
Parametreler | |
---|---|
invocationId | int : çağrının izleme kimliği. |
cause | String : çağrıyı durdurmanın nedeni. |
İadeler | |
---|---|
boolean | çağırma durdurulduysa doğru, aksi halde yanlış |
Planlamayı durdur
public void stopScheduling ()
Yeni testler planlamayı ve kabul etmeyi durdurur ancak Tradefed'i durdurmaz. Bunun amacı, önce çalışan tüm testleri boşaltacağımız, ardından Tradefed sürecini sonlandıracağımız iki adımlı bir kapatmayı mümkün kılmaktır.
Korumalı yöntemler
Temizlemek
protected void cleanUp ()
Günlükleri kapatır ve çıkmadan önce gerekli diğer temizliği yapar.
Birim testlerinin alay edebilmesi için açığa çıkarıldı.
yapılandırmaYapılandırma oluştur
protected IConfiguration createConfiguration (String[] args)
Parametreler | |
---|---|
args | String |
İadeler | |
---|---|
IConfiguration |
Atar | |
---|---|
ConfigurationException |
createInvokasyonContext
protected IInvocationContext createInvocationContext ()
İadeler | |
---|---|
IInvocationContext |
execCommand
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
referans 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
bildirilen IKeyStoreFactory
veya hiçbiri tanımlanmamışsa null'u kullanarak bir IKeyStoreClient
getirir.
İadeler | |
---|---|
IKeyStoreClient | IKeyStoreClient |
getTestInvokasyonManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
İadeler | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
Ddmlib günlüğünü başlatır.
Birim testlerinin alay edebilmesi için açığa çıkarıldı.
Kapatılıyor
protected boolean isShutdown ()
İadeler | |
---|---|
boolean |
süreçHazırKomutlar
protected void processReadyCommands (IDeviceManager manager)
Parametreler | |
---|---|
manager | IDeviceManager |