CommandScheduler
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 planlayıcı.
Çalıştırılacak komutlara, yürütme sürelerinin toplam çalışma sayısına göre öncelik vermeye çalışır. Örneğin, seyrek veya hızlı çalışan komutlar, uzun süre çalışan komutlara göre öncelik alır.
Kapatılana kadar arka planda sonsuza kadar çalışır.
Özet
Herkese açık kurucular | |
---|---|
CommandScheduler()
Bir |
Herkese açık yöntemler | |
---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
Zamanlayıcıya bir komut ekler. |
void
|
addCommandFile(String cmdFilePath,
Belirtilen dosyadaki tüm komutları planlayıcıya ekler |
void
|
await()
Gerekirse eski TF'den devir teslim işleminin tamamlanmasını beklemek de dahil olmak üzere planlayıcının çalışmaya başlamasını bekler. |
static
TradefedDelegator
|
checkDelegation(String[] args)
Çalıştırmayı yetkilendirmemiz gerekip gerekmediğini görmek için komut satırına dayalı bir yetki veren kullanıcı oluşturun. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
Cihazların uygun şekilde serbest bırakılabilmesi 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 kuyruğunun durumuyla ilgili ayrıntılı hata ayıklama bilgilerini görüntüleyin. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
Mevcut komutların listesini gösterir. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Mevcut çağrıların listesini görüntüler. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Mevcut tüm komutlar için belirtilen tüm |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Komutu, önceden ayrılmış cihazda doğrudan yürütün. |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
Komutu, önceden ayrılmış cihazlarda doğrudan yürütün. |
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Mevcut bir |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Bir cihazı doğrudan ayırır ve komutu komut kuyruğuna eklemeden yürütür. |
CommandFileWatcher
|
getCommandFileWatcher()
Bu planlayıcı için uygun CommandFileWatcher'ı alın |
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 belirterek bir çağrıyla ilgili bilgileri döndürme. |
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ıdan |
int
|
getReadyCommandCount()
Sırada hazır durumdaki komutların sayısını döndürür. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
Cihaz etkin bir çağrı mesajı dizisi tarafından kullanılıyorsa true döndürür. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
Planlayıcıdan tüm komutları kaldırma |
void
|
run()
Bu iş parçacığının ana yürütme bloğu. |
void
|
setClearcutClient(ClearcutClient client)
İstemciyi, koşum takımı verilerini raporlayacak şekilde ayarlama |
boolean
|
shouldShutdownOnCmdfileError()
Komut hataları nedeniyle planlayıcıyı kapatmamız gerekiyorsa doğru değerini döndürür. |
void
|
shutdown(boolean notifyStop)
Komut planlayıcıyı sorunsuz bir şekilde kapatmayı deneyin. |
void
|
shutdownHard(boolean killAdb)
Komut planlayıcıyı zorla kapatmaya çalışır. |
void
|
shutdownHard()
Komut planlayıcıyı zorla kapatmaya çalışır. |
void
|
shutdownOnEmpty()
|
void
|
start()
Günlüğe kaydetme ayarlarını ve |
boolean
|
stopInvocation(ITestInvocation invocation)
Çalışan bir çağrıyı durdurma. |
boolean
|
stopInvocation(int invocationId, String cause)
Çalışan bir çağrıyı kimliğini belirterek durdurun. |
void
|
stopScheduling()
Yeni testlerin planlanmasını ve kabul edilmesini durdurur ancak Tradefed'i durdurmaz. |
Herkese açık kurucular
CommandScheduler
public CommandScheduler ()
Bir CommandScheduler
oluşturur.
Not: start, kullanılmadan önce çağrılmalıdır.
Herkese açık yöntemler
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
Zamanlayıcıya bir komut ekler.
Komut, temel olarak çalıştırılacak bir yapılandırma örneği ve ilişkili bağımsız değişkenleridir.
"--help" bağımsız değişkeni belirtilirse yapılandırmayla ilgili yardım metni stdout'a gönderilir. 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 başarıyla eklendiyse ilk değer Boole true olur. İkinci değer, bilinen komut izleyici kimliğidir(negatif olmayan değer). Komut başarıyla eklendiyse tüm cihazlar için eklendiğinde 0, aksi takdirde -1 döndürülür. |
Atışlar | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
Belirtilen dosyadaki tüm komutları planlayıcıya ekler
Parametreler | |
---|---|
cmdFilePath |
String : Komut dosyasının dosya sistemi yolu |
extraArgs |
: Dosyadan ayrıştırılan her komuta eklenecek String bağımsız değişkenin ERROR(/List) . Boş olabilir ancak null olmamalıdır. |
Atışlar | |
---|---|
ConfigurationException |
beklemek
public void await ()
Gerekirse eski TF'den devir teslim işleminin tamamlanmasını beklemek de dahil olmak üzere planlayıcının çalışmaya başlamasını bekler.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
Çalıştırmayı yetkilendirmemiz gerekip gerekmediğini görmek için komut satırına dayalı bir yetki veren kullanıcı oluşturun.
Parametreler | |
---|---|
args |
String |
İlerlemeler | |
---|---|
TradefedDelegator |
Atışlar | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
Cihazların uygun şekilde serbest bırakılabilmesi için cihazların durumunun haritasını oluşturun.
Parametreler | |
---|---|
context |
IInvocationContext |
e |
Throwable |
İlerlemeler | |
---|---|
|
createSandbox
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 kuyruğunun durumuyla ilgili ayrıntılı hata ayıklama bilgilerini görüntüleyin.
displayCommandsInfo
public void displayCommandsInfo (PrintWriter printWriter, String regex)
Mevcut komutların listesini gösterir.
Parametreler | |
---|---|
printWriter |
PrintWriter : Çıktı alınacak ERROR(/PrintWriter) . |
regex |
String : Komutların yazdırılmak üzere eşleştirilmesi gereken normal ifade. Boşsa tüm komutlar yazdırılır. |
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
Mevcut çağrıların listesini görüntüler.
Parametreler | |
---|---|
printWriter |
PrintWriter : Çıktı alınacak ERROR(/PrintWriter) . |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Mevcut tüm komutlar için belirtilen tüm Option
değerleriyle birlikte komutun genişletilmiş XML dosyasını dökümü.
Parametreler | |
---|---|
printWriter |
PrintWriter : Durumu döndürmek için kullanılan ERROR(/PrintWriter) . |
regex |
String : XML dosyasının dökülmesi için komutların eşleştirilmesi gereken normal ifade. Boşsa tüm komutlar dökülür. |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Komutu, önceden ayrılmış cihazda doğrudan yürütün.
Parametreler | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : Bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
device |
ITestDevice : Kullanılacak ITestDevice |
args |
String : komut bağımsız değişkenleri |
İlerlemeler | |
---|---|
long |
Planlanmış komutun çağrı kimliği. |
Atışlar | |
---|---|
ConfigurationException |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
Komutu, önceden ayrılmış cihazlarda doğrudan yürütün.
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. |
Atışlar | |
---|---|
ConfigurationException |
execCommand
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Mevcut bir IInvocationContext
kullanarak bir cihazı doğrudan ayırır ve komutu komut kuyruğuna eklemeden 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 |
İlerlemeler | |
---|---|
long |
Atışlar | |
---|---|
ConfigurationException |
|
NoDeviceException |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, String[] args)
Bir cihazı doğrudan ayırır ve komutu komut kuyruğuna eklemeden 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. |
Atışlar | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Bu planlayıcı için uygun CommandFileWatcher'ı alın
İlerlemeler | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
Yürütme durumundaki komutların sayısını döndürür.
İlerlemeler | |
---|---|
int |
getHostState
public CommandScheduler.HostState getHostState ()
İlerlemeler | |
---|---|
CommandScheduler.HostState |
getInvocationInfo
public String getInvocationInfo (int invocationId)
Çağırma kimliğini belirterek bir çağrıyla ilgili bilgileri döndürme.
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 çağrı çalıştırılmamışsa 0 (hata yok) değerini döndürür.
İlerlemeler | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
Çalıştırılan son çağrıdan Throwable
değerini döndürür.
Atılabilir öğe yoksa null döndürülür.
İlerlemeler | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
Sırada hazır durumdaki komutların sayısını döndürür.
İlerlemeler | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
İlerlemeler | |
---|---|
long |
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
Cihaz etkin bir çağrı mesajı dizisi tarafından kullanılıyorsa true döndürür.
Parametreler | |
---|---|
device |
ITestDevice |
İlerlemeler | |
---|---|
boolean |
isShuttingDown
public boolean isShuttingDown ()
İlerlemeler | |
---|---|
boolean |
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
Parametreler | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
Planlayıcıdan tüm komutları kaldırma
ç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, koşum takımı verilerini raporlayacak şekilde ayarlama
Parametreler | |
---|---|
client |
ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
Komut hataları nedeniyle planlayıcıyı kapatmamız gerekiyorsa doğru değerini döndürür.
İlerlemeler | |
---|---|
boolean |
kapatma
public void shutdown (boolean notifyStop)
Komut planlayıcıyı sorunsuz bir şekilde kapatmayı deneyin.
Parametreler | |
---|---|
notifyStop |
boolean : Doğru ise TF kapatma çağrılarını bildirir. |
shutdownHard
public void shutdownHard (boolean killAdb)
Komut planlayıcıyı zorla kapatmaya çalışır.
shutdown()
özelliğine benzer ancak devam eden çağrıların daha hızlı tamamlanmasını sağlamak için isteğe bağlı olarak adb bağlantısını da sonlandırır.
Parametreler | |
---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
Komut planlayıcıyı zorla kapatmaya çalışır. shutdownHard(true) ile aynıdır.
shutdownOnEmpty
public void shutdownOnEmpty ()
shutdown()
ile benzerdir ancak çıkmadan önce tüm komutların yürütülmesini bekler.
Döngü modunda olan komutlar varsa planlayıcının hiçbir zaman çıkmayacağını unutmayın.
start
public void start ()
Günlüğe kaydetme ayarlarını ve DeviceManager
'nin başlatılmasını da içeren planlayıcıyı başlatır.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
Çalışan bir çağrıyı durdurma.
Parametreler | |
---|---|
invocation |
ITestInvocation |
İlerlemeler | |
---|---|
boolean |
Çağırma durdurulduysa doğru, aksi takdirde yanlış değerini döndürür. |
stopInvocation
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ının durdurulma nedeni. |
İlerlemeler | |
---|---|
boolean |
Çağırma durdurulduysa doğru, aksi takdirde yanlış değerini döndürür. |
stopScheduling
public void stopScheduling ()
Yeni testlerin planlanmasını ve kabul edilmesini durdurur ancak Tradefed'i durdurmaz. Bu, önce tüm çalışan testlerin sonlandırıldığı ve ardından Tradefed sürecinin sonlandırıldığı iki adımlı bir kapatma işlemini etkinleştirmeyi amaçlar.
Korunan yöntemler
cleanUp
protected void cleanUp ()
Çıkmadan önce günlükleri kapatır ve gerekli diğer temizleme işlemlerini yapar.
Birim testlerinin taklit edebilmesi için açıklanmıştır.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
Parametreler | |
---|---|
args |
String |
İlerlemeler | |
---|---|
IConfiguration |
Atışlar | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
İlerlemeler | |
---|---|
IInvocationContext |
dryRunCommandReporting
protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)
Belirli bir komutun kuru çalıştırma olup olmadığını belirler. Komut bir kuru çalıştırmaysa doğrulayın. Yapılandırmayla ilgili bir sorun varsa ConfigurationException hatası oluşur.
Parametreler | |
---|---|
handler |
ICommandScheduler.IScheduledInvocationListener : ERROR(/InvocationEventHandler) , kuru çalıştırma doğrulaması için etkinlikleri bildirmek üzere. |
config |
IConfiguration |
İlerlemeler | |
---|---|
void |
Komut kuru çalıştırma ise doğru, aksi takdirde yanlış değerini döndürür. |
Atışlar | |
---|---|
|
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 |
Atışlar | |
---|---|
ConfigurationException |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
IConfigurationFactory
için referans alma fabrika yöntemi
İlerlemeler | |
---|---|
IConfigurationFactory |
IConfigurationFactory |
getDeviceManagementServer
protected DeviceManagementGrpcServer getDeviceManagementServer ()
İlerlemeler | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
IDeviceManager
için referans alma fabrika yöntemi
İlerlemeler | |
---|---|
IDeviceManager |
IDeviceManager |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
İlerlemeler | |
---|---|
TradefedFeatureServer |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
IGlobalConfiguration
içinde tanımlanan IKeyStoreFactory
'yi kullanarak bir IKeyStoreClient
getirir veya tanımlanmamışsa null değerini döndürür.
İlerlemeler | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
İlerlemeler | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
ddmlib günlüğünü başlatır.
Birim testlerinin taklit edebilmesi için açıklanmıştır.
isShutdown
protected boolean isShutdown ()
İlerlemeler | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parametreler | |
---|---|
manager |
IDeviceManager |