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
İç içe yerleştirilmiş sınıflar | |
---|---|
enum |
CommandScheduler.HostState
Farklı ana makine durumları için sıralamalar |
Kamu inşaatçıları | |
---|---|
CommandScheduler()
|
Herkese açık yöntemler | |
---|---|
boolean
|
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. |
void
|
completeHandover()
Komut planlayıcıya, başlatılan bir devir sırasının tamamen tamamlandığını bildirir ve varsayılan bağlantı noktasında uzak yöneticisini yeniden başlatması gerekir. |
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österir. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
Komut için genişletilmiş xml dosyasını
Tüm mevcut komutlar için |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Zaten tahsis edilmiş olan cihazda doğrudan komutu yürüt. |
void
|
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 |
void
|
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 |
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()
|
void
|
handoverInitiationComplete()
Komut planlayıcıya, kullanımdaki cihazların ve komutların ilk devir aktarımını bildirir ve işlemin planlanmasına başlayabilir. |
boolean
|
handoverShutdown(int handoverPort)
Bir |
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()
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. |
Korunan yöntemler | |
---|---|
void
|
cleanUp()
Günlükleri kapatır ve çıkmadan önce gerekli diğer temizlik işlemlerini gerçekleştirir. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
|
IDeviceManager
|
getDeviceManager()
|
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
|
void
|
initLogging()
ddmlib günlüğünü başlatır. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
Tüm çağrı ileti dizileri tamamlanana kadar bekleyin. |
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 boolean addCommand (String[] args)
Planlayıcıya bir komut ekler.
Komut, temelde çalıştırılacak bir yapılandırmanın ve ilişkili bağımsız değişkenlerinin örneğidir.
"--help" ise bağımsız değişkeni için yapılandırmanın çıkışı stdout olur. Aksi takdirde, yapılandırma aşağıdaki durumlarda sıraya eklenir: gerekir.
Parametreler | |
---|---|
args |
String : yapılandırma bağımsız değişkenleri. |
İlerlemeler | |
---|---|
boolean |
Komut başarıyla eklendiyse true |
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 | |
---|---|
ConfigurationException |
tamamlandı
public void completeHandover ()
Komut planlayıcıya, başlatılan bir devir sırasının tamamen tamamlandığını bildirir ve varsayılan bağlantı noktasında uzak yöneticisini yeniden başlatması gerekir.
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 void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
Zaten tahsis edilmiş olan cihazda doğrudan komutu yürüt.
Parametreler | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : bilgilendirilecek ICommandScheduler.IScheduledInvocationListener |
device |
ITestDevice : kullanılacak ITestDevice |
args |
String : komut bağımsız değişkenleri |
Fırlatma | |
---|---|
ConfigurationException |
execCommand
public void 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 |
Fırlatma | |
---|---|
ConfigurationException |
|
NoDeviceException |
execCommand
public void 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 |
Fırlatma | |
---|---|
ConfigurationException |
|
NoDeviceException |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
Bu planlayıcı için uygun CommandFileWatcher
öğesini edinin
İ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 |
devir BaşlatmaTamamlandı
public void handoverInitiationComplete ()
Komut planlayıcıya, kullanımdaki cihazların ve komutların ilk devir aktarımını bildirir ve işlemin planlanmasına başlayabilir.
devir Kapat
public boolean handoverShutdown (int handoverPort)
Bir shutdown()
başlatır ve aynı ana makinede başka bir takas işlemine devredir.
Planlayıcı, serbest bırakılan cihazların ilgili bağlantı noktasında dinleme gerçekleştirilmesini sağlayan, uzaktan takas edilen işlemi bildirir kullanılabilir hale gelir.
Parametreler | |
---|---|
handoverPort |
int |
İlerlemeler | |
---|---|
boolean |
Devir işlemi başarılı olduysa true , false
aksi takdirde
|
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 ()
Komut planlayıcıyı düzgün şekilde kapatmayı deneyin.
Test edilmeyi bekleyen komutları temizler ve devam eden tüm çağrıların yapılmasını ister rahatça kapatılsın.
Kapanış çağrıldıktan sonra planlayıcı ana döngüsü, devam eden tüm çağrıları bekler tamamlamadan önce kontrol edilmesi gerekir.
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()
komutuna 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 |
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 |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
IConfigurationFactory
referansını almak için fabrika yöntemi
İlerlemeler | |
---|---|
IConfigurationFactory |
kullanılacak IConfigurationFactory
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
IDeviceManager
referansını almak için fabrika yöntemi
İlerlemeler | |
---|---|
IDeviceManager |
kullanılacak IDeviceManager
|
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
İlerlemeler | |
---|---|
TradefedFeatureServer |
getHostOptions
protected IHostOptions getHostOptions ()
İlerlemeler | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
IKeyStoreFactory
kullanarak bir IKeyStoreClient
getirir
IGlobalConfiguration
içinde veya herhangi bir değer tanımlanmamışsa null olarak tanımlanır.
İlerlemeler | |
---|---|
IKeyStoreClient |
IKeyStoreMüşteri |
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 |
Kapatılıyor
protected boolean isShuttingDown ()
İlerlemeler | |
---|---|
boolean |
transactionReadyCommands
protected void processReadyCommands (IDeviceManager manager)
Parametreler | |
---|---|
manager |
IDeviceManager |
WaitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
Tüm çağrı ileti dizileri tamamlanana kadar bekleyin.