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)
Planlayı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ırma işlemini devretmemiz 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 verir. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
Geçerli ç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 öğ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ıdan |
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ı mesajı dizisi tarafından kullanılıyorsa doğru değerini 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, harmanlama 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)
Devam eden bir çağrıyı durdurun. |
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. |
Kamu inşaatçıları
CommandScheduler
public CommandScheduler ()
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)
Planlayı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 true Boole olur). İkinci değer, komut başarıyla eklendiyse bilinen komut izleyici kimliğidir(negatif olmayan değer). Komut tüm cihazlar için eklendiğinde 0 döndürülür, 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şkenden oluşan bir ERROR(/List) . Boş olabilir ancak boş olmamalıdır. |
Atışlar | |
---|---|
ConfigurationException |
await
public void await ()
Gerektiğinde eski TF'den devir 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ırma işlemini devretmemiz gerekip gerekmediğini görmek için komut satırına dayalı bir yetki veren kullanıcı oluşturun.
Parametreler | |
---|---|
args |
String |
İlerlemeler | |
---|---|
TradefedDelegator |
Fırlatma | |
---|---|
|
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 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 : 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 : çıkış yapılacak ERROR(/PrintWriter) . |
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
Komutun genişletilmiş xml dosyasını, tüm mevcut komutlar için belirtilen tüm Option
değerlerini içerecek şekilde boşaltın.
Parametreler | |
---|---|
printWriter |
PrintWriter : Durumu döndürmek için 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 tahsis eder 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 |
Fırlatma | |
---|---|
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ğ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 ç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ıdaki Throwable
öğesini döndürün.
Atılabilir öğe yoksa null döndürülür.
İlerlemeler | |
---|---|
Throwable |
getHazırCommandCount
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ı 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 |
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. |
kapatmaHard
public void shutdownHard (boolean killAdb)
Komut planlayıcıyı zorla kapatmaya çalışır.
shutdown()
ile benzerdir ancak devam eden çağrıların daha hızlı tamamlanması 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. DownHard(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ük kaydı ayarlarını yapma, DeviceManager
işlemeyi başlatma vb. dahil 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 true, aksi takdirde false değerini alı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 true, aksi takdirde false değerini alır. |
stopScheduling
public void stopScheduling ()
Yeni testleri planlamayı ve kabul etmeyi durdurur, ancak Tradefed'i durdurmaz. Bunun amacı, iki adımlı bir kapatma uygulamaktır. Önce çalışan tüm testleri boşaltır, ardından Tradefed işlemini sonlandırırız.
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 |
Fırlatma | |
---|---|
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. Herhangi bir yapılandırma sorunu varsa bir ConfigurationException oluşturur.
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 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 |
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 |
kullanılacak IDeviceManager |
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
İlerlemeler | |
---|---|
TradefedFeatureServer |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
IGlobalConfiguration
içinde tanımlanan IKeyStoreFactory
'yi veya tanımlanmamışsa null değerini kullanarak bir IKeyStoreClient
getirir.
İlerlemeler | |
---|---|
IKeyStoreClient |
IKeyStoreMüşteri |
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 |