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()

CommandScheduler oluşturur.

Herkese açık yöntemler

Pair<Boolean, Integer> addCommand(String[] args)

Planlayıcıya bir komut ekler.

void addCommandFile(String cmdFilePath, extraArgs)

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 ISandbox oluşturun.

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 Option değerleri belirtildi.

long execCommand(ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)

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 IInvocationContext kullanarak.

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 Throwable öğesini döndürün.

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, extraArgs)
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()

shutdown() komutuna benzer ancak bunun yerine tüm komutların yürütülmesini bekler kontrol edin.

void start()

Günlük kaydı ayarlarını yapma, DeviceManager işlemeyi başlatma vb. dahil planlayıcıyı başlatır

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.

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()
void dryRunCommandReporting(ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)

Belirli bir komutun prova olup olmadığını belirler.

long execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory()

IConfigurationFactory referansını almak için fabrika yöntemi

DeviceManagementGrpcServer getDeviceManagementServer()
IDeviceManager getDeviceManager()

IDeviceManager referansını almak için fabrika yöntemi

TradefedFeatureServer getFeatureServer()
IHostOptions getHostOptions()
IKeyStoreClient getKeyStoreClient()

IGlobalConfiguration içinde tanımlanan IKeyStoreFactory öğesini veya hiçbiri tanımlanmamışsa null değerini kullanarak bir IKeyStoreClient getirir.

TestInvocationManagementServer getTestInvocationManagementServer()
void initLogging()

ddmlib günlüğünü başlatır.

boolean isShutdown()
void processReadyCommands(IDeviceManager manager)

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 static  createReleaseMap (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

getHostOptions

protected IHostOptions getHostOptions ()

İlerlemeler
IHostOptions

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