Komut Planlayıcı
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
Java.lang.Nesne | |
🎃 | com.android.tradefed.command.CommandScheduler |
Kullanılabilir tüm cihazlarda TradeFederation komutlarını çalıştırmak için kullanılan bir planlayıcı.
Yürütme işlemlerinin toplam çalışan sayısına göre çalıştırılacak komutlara öncelik vermeye çalışır gerekir. ör. sık kullanılmayan veya hızlı çalıştırılan komutlar, uzun çalışan komutlara göre öncelikli olur.
Kapatılana kadar arka planda sonsuza kadar çalışır.
Özet
Kamu inşaatçıları | |
---|---|
CommandScheduler()
|
Herkese açık yöntemler | |
---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
Planlayıcıya bir komut ekler. |
void
|
addCommandFile(String cmdFilePath,
Belirtilen dosyadaki tüm komutları planlayıcıya ekler |
void
|
await()
Eski TF'den geçişin tamamlanması beklenirken planlayıcının çalışmaya başlamasını bekler (geçerli durumlarda) |
static
TradefedDelegator
|
checkDelegation(String[] args)
Çalıştırma için yetki vermemiz gerekip gerekmediğini öğrenmek amacıyla, komut satırını temel alan bir yetki veren oluşturun. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Uygun şekilde yayınlanabilmeleri için cihazların durumunun 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 sırasının durumuyla ilgili ayrıntılı hata ayıklama bilgileri sağlayın. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Mevcut komutların listesini verir. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Geçerli çağrıların listesini görüntüler. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Komut için genişletilmiş xml dosyasını
Tüm mevcut komutlar için |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
Halihazırda atanmış cihazlarda doğrudan komutu yürütün. |
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden bir komut yürütür
mevcut bir |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden bir komut yürütür. |
CommandFileWatcher
|
getCommandFileWatcher()
Bu planlayıcı için uygun CommandFileWatcher öğesini alın |
int
|
getExecutingCommandCount()
Yürütme durumundaki komut sayısını döndürür. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
Çağrı kimliğini belirten bilgileri bir çağrı üzerinde döndürür. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
Çalıştırılan son çağrının hata kodunu döndürür. |
Throwable
|
getLastInvocationThrowable()
Çalıştırılan son çağrıdaki |
int
|
getReadyCommandCount()
Sırada hazır durumda olan komutların sayısını döndürür. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
Cihaz etkin bir çağrı ileti dizisi tarafından kullanılıyorsa true değerini döndürür. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Planlayı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, harmanlama verilerini raporlayacak şekilde ayarlama |
boolean
|
shouldShutdownOnCmdfileError()
Bir komut hatalarında zamanlayıcıyı kapatmamız gerekirse true değerini döndürür |
void
|
shutdown(boolean notifyStop)
Komut planlayıcıyı düzgün şekilde kapatmayı deneyin. |
void
|
shutdownHard(boolean killAdb)
Komut planlayıcıyı zorla kapatmayı deneyin. |
void
|
shutdownHard()
Komut planlayıcıyı zorla kapatmayı deneyin. |
void
|
shutdownOnEmpty()
|
void
|
start()
Günlük kaydı ayarlarını yapma, |
boolean
|
stopInvocation(ITestInvocation invocation)
Devam eden bir çağrıyı durdurun. |
boolean
|
stopInvocation(int invocationId, String cause)
Çalışan bir çağrının kimliğini belirterek çağrıyı durdurun. |
void
|
stopScheduling()
Yeni testleri planlamayı ve kabul etmeyi durdurur, ancak Tradefed'i durdurmaz. |
Kamu inşaatçıları
Komut Planlayıcı
public CommandScheduler ()
CommandScheduler
oluşturur.
Not: start, kullanılmadan önce çağrılmalıdır.
Herkese açık yöntemler
eklemeKomutu
public Pair<Boolean, Integer> addCommand (String[] args)
Planlayıcıya bir komut ekler.
Komut, temelde çalıştırılacak bir yapılandırmanın örneğidir. bağımsız değişkenlerdir.
"--help" ise bağımsız değişkeni belirtildiğinde yapılandırmanın yardım metni stdout'a çıkar. Aksi takdirde yapılandırma, çalıştırılmak üzere sıraya eklenir.
Parametreler | |
---|---|
args |
String : yapılandırma bağımsız değişkenleri. |
İlerlemeler | |
---|---|
Pair<Boolean, Integer> |
Bir değer çifti (komut eklendiyse ilk değer true Boole) olur
bahsettik. İkinci değer,
komut başarıyla eklendi, tüm cihazlara komut eklendiğinde 0 döndürün, aksi takdirde
-1. |
Fırlatma | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Belirtilen dosyadaki tüm komutları planlayıcıya ekler
Parametreler | |
---|---|
cmdFilePath |
String : comand dosyasının dosya sistemi yolu |
extraArgs |
: Ayrıştırılan her komuta eklenecek ERROR(/List) /String bağımsız değişken
kaldıracak. Boş olabilir ancak boş olmamalıdır. |
Fırlatma | |
---|---|
ConfigurationException |
bekle
public void await ()
Eski TF'den geçişin tamamlanması beklenirken planlayıcının çalışmaya başlamasını bekler (geçerli durumlarda)
Yetkiyi kontrol et
public static TradefedDelegator checkDelegation (String[] args)
Çalıştırma için yetki vermemiz gerekip gerekmediğini öğrenmek amacıyla, komut satırını temel alan bir yetki veren oluşturun.
Parametreler | |
---|---|
args |
String |
İlerlemeler | |
---|---|
TradefedDelegator |
Fırlatma | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
createReleasemap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Uygun şekilde yayınlanabilmeleri için cihazların durumunun haritasını oluşturun.
Parametreler | |
---|---|
context |
IInvocationContext |
e |
Throwable |
İlerlemeler | |
---|---|
|
oluşturmaKorumalı Alan
public ISandbox createSandbox ()
Çağrının çalıştırmak için kullanacağı bir ISandbox
oluşturun.
İlerlemeler | |
---|---|
ISandbox |
displayCommandQueue
public void displayCommandQueue (PrintWriter printWriter)
Komut yürütme sırasının durumuyla ilgili ayrıntılı hata ayıklama bilgileri sağlayın.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Mevcut komutların listesini verir.
Parametreler | |
---|---|
printWriter |
PrintWriter : çıkış yapılacak ERROR(/PrintWriter) . |
regex |
String :
yazdırılır. Null ise tüm komutlar yazdırılır. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Geçerli çağrıların listesini gösterir.
Parametreler | |
---|---|
printWriter |
PrintWriter : çıkış yapılacak ERROR(/PrintWriter) . |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Komut için genişletilmiş xml dosyasını
Tüm mevcut komutlar için Option
değerleri belirtildi.
Parametreler | |
---|---|
printWriter |
PrintWriter : Durum çıktısının alınacağı ERROR(/PrintWriter) . |
regex |
String :
xml dosyası olmalıdır. Null ise tüm komutlar dökümü alınır. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Halihazırda tahsis edilmiş cihazlarda doğrudan komut yürütebilir.
Parametreler | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
: kullanılacak ERROR(/List |
args |
String : komut bağımsız değişkenleri |
İlerlemeler | |
---|---|
long |
Planlanmış komutun çağrı kimliği. |
Fırlatma | |
---|---|
ConfigurationException |
execCommand
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden bir komut yürütür
mevcut bir IInvocationContext
kullanarak.
Parametreler | |
---|---|
context |
IInvocationContext : mevcut bir IInvocationContext . |
listener |
ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args |
String : komut bağımsız değişkenleri |
İlerlemeler | |
---|---|
long |
Fırlatma | |
---|---|
ConfigurationException |
|
NoDeviceException |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden bir komut yürütür.
Parametreler | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
args |
String : komut bağımsız değişkenleri |
İlerlemeler | |
---|---|
long |
Planlanmış komutun çağrı kimliği. |
Fırlatma | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Bu planlayıcı için uygun CommandFileWatcher öğesini alın
İlerlemeler | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Yürütme durumundaki komut sayısını döndürür.
İlerlemeler | |
---|---|
int |
getHostState
public CommandScheduler.HostState getHostState ()
İlerlemeler | |
---|---|
CommandScheduler.HostState |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Çağrı kimliğini belirten bilgileri bir çağrı üzerinde döndürür.
Parametreler | |
---|---|
invocationId |
int : Çağrının izleme kimliği. |
İlerlemeler | |
---|---|
String |
Çağrıyla ilgili bilgileri içeren bir String . |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
Çalıştırılan son çağrının hata kodunu döndürür. Henüz bir çağrı çalıştırılmadıysa 0 (hata yok) değerini döndürür.
İlerlemeler | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Çalıştırılan son çağrıdaki Throwable
öğesini döndürün.
Atılabilir öğe yoksa null değerini döndürür.
İlerlemeler | |
---|---|
Throwable |
getHazırCommandCount
public int getReadyCommandCount ()
Sırada hazır durumda olan komutların sayısını döndürür.
İlerlemeler | |
---|---|
int |
getShutdownZaman Aşımı
public long getShutdownTimeout ()
İlerlemeler | |
---|---|
long |
isDeviceInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Cihaz etkin bir çağrı ileti dizisi tarafından kullanılıyorsa true değerini döndürür.
Parametreler | |
---|---|
device |
ITestDevice |
İlerlemeler | |
---|---|
boolean |
Kapatılıyor
public boolean isShuttingDown ()
İlerlemeler | |
---|---|
boolean |
NotificationFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Parametreler | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Planlayıcıdaki tüm komutları kaldır
çalıştır
public void run ()
Bu iş parçacığının ana yürütme bloğu.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
İstemciyi, harmanlama verilerini raporlayacak şekilde ayarlama
Parametreler | |
---|---|
client |
ClearcutClient |
MustdownOnCmdfileError hatası
public boolean shouldShutdownOnCmdfileError ()
Bir komut hatalarında zamanlayıcıyı kapatmamız gerekirse true değerini döndürür
İlerlemeler | |
---|---|
boolean |
kapatmak
public void shutdown (boolean notifyStop)
Komut planlayıcıyı düzgün şekilde kapatmayı deneyin.
Parametreler | |
---|---|
notifyStop |
boolean : Doğru değerine ayarlanırsa TF kapatılmasıyla ilgili çağrıları bildirir. |
kapatmaHard
public void shutdownHard (boolean killAdb)
Komut planlayıcıyı zorla kapatmayı deneyin.
shutdown()
öğesine benzer, ancak isteğe bağlı olarak adb bağlantısını da
“ilham verme” girişimi daha hızlı tamamlanması için devam eden
çağrıları belirleyin.
Parametreler | |
---|---|
killAdb |
boolean |
kapatmaHard
public void shutdownHard ()
Komut planlayıcıyı zorla kapatmayı deneyin. DownHard(true) ile aynıdır.
Boş
public void shutdownOnEmpty ()
shutdown()
komut dosyasına benzer ancak bunun yerine tüm komutların yürütülmesini bekler
kontrol edin.
Komutlardan herhangi biri döngü modundaysa planlayıcının hiçbir zaman çıkmayacağını unutmayın.
start
public void start ()
Günlük kaydı ayarlarını yapma, DeviceManager
işlemeyi başlatma vb. dahil planlayıcıyı başlatır
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Devam eden bir çağrıyı durdurun.
Parametreler | |
---|---|
invocation |
ITestInvocation |
İlerlemeler | |
---|---|
boolean |
çağrı durdurulduysa true, aksi takdirde false |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
Çalışan bir çağrının kimliğini belirterek çağrıyı durdurun.
Parametreler | |
---|---|
invocationId |
int : Çağrının izleme kimliği. |
cause |
String : Çağrının durdurulma nedeni. |
İlerlemeler | |
---|---|
boolean |
çağrı durdurulduysa true, aksi takdirde false |
Planlamayı durdur
public void stopScheduling ()
Yeni testleri planlamayı ve kabul etmeyi durdurur, ancak Tradefed'i durdurmaz. Bu yöntemin amacı, iki adımlı bir kapatma işlemiyle, önce çalışan tüm testler boşaltılır, ardından Tradefed sonlandırılır. bahsedeceğim.
Korunan yöntemler
temizleme
protected void cleanUp ()
Günlükleri kapatır ve çıkmadan önce gerekli diğer temizlik işlemlerini gerçekleştirir.
Birim testlerinin taklit edebilmesi için açığa çıkar.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Parametreler | |
---|---|
args |
String |
İlerlemeler | |
---|---|
IConfiguration |
Fırlatma | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
İlerlemeler | |
---|---|
IInvocationContext |
dryRunCommandReporting
protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)
Belirli bir komutun prova olup olmadığını belirler. Komut provaysa bunu doğrulayın. Eğer bir yapılandırma sorunu varsa bir ConfigurationException hatası verir.
Parametreler | |
---|---|
handler |
ICommandScheduler.IScheduledInvocationListener : Prova doğrulamasına ilişkin etkinlikleri raporlamak için ERROR(/InvocationEventHandler) . |
config |
IConfiguration |
İlerlemeler | |
---|---|
void |
komut provaysa true, değilse false (yanlış) değerini alır. |
Fırlatma | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
execCommand
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Parametreler | |
---|---|
context |
IInvocationContext |
listener |
ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
|
args |
String |
İlerlemeler | |
---|---|
long |
Fırlatma | |
---|---|
ConfigurationException |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
IConfigurationFactory
referansını almak için fabrika yöntemi
İlerlemeler | |
---|---|
IConfigurationFactory |
kullanılacak IConfigurationFactory |
getCihazYönetimiSunucusu
protected DeviceManagementGrpcServer getDeviceManagementServer ()
İlerlemeler | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
IDeviceManager
referansını almak için fabrika yöntemi
İlerlemeler | |
---|---|
IDeviceManager |
kullanılacak IDeviceManager |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
İlerlemeler | |
---|---|
TradefedFeatureServer |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
IGlobalConfiguration
içinde tanımlanan IKeyStoreFactory
öğesini veya hiçbiri tanımlanmamışsa null değerini kullanarak bir IKeyStoreClient
getirir.
İlerlemeler | |
---|---|
IKeyStoreClient |
IKeyStoreMüşteri |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
İlerlemeler | |
---|---|
TestInvocationManagementServer |
Başlangıç Günlüğü
protected void initLogging ()
ddmlib günlüğünü başlatır.
Birim testlerinin taklit edebilmesi için açığa çıkar.
Kapat
protected boolean isShutdown ()
İlerlemeler | |
---|---|
boolean |
transactionReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parametreler | |
---|---|
manager |
IDeviceManager |