CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
   ↳ com.android.tradefed.command.CommandScheduler


TradeFederation komutlarını mevcut tüm cihazlarda çalıştırmak için bir planlayıcı.

Çalıştırılacak komutlara, yürütülme sürelerinin toplam çalışma sayısına göre öncelik vermeye çalışır. Örneğin, seyrek veya hızlı çalışan komutlara, uzun süredir çalışan komutlara göre öncelik verilir.

Kapatılana kadar arka planda süresiz olarak çalışır.

Özet

Herkese açık oluşturucular

CommandScheduler()

CommandScheduler oluşturur.

Herkese açık yöntemler

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

Zamanlayıcıya bir komut ekler.

void addCommandFile(String cmdFilePath, extraArgs)

Belirtilen dosyadaki tüm komutları planlayıcıya ekler.

void await()

Planlayıcının çalışmaya başlamasını bekler. Gerekirse eski TF'den devretme işleminin tamamlanmasını da bekler.

static TradefedDelegator checkDelegation(String[] args)

Çalıştırmanın temsilciye devredilmesi gerekip gerekmediğini görmek için komut satırına dayalı bir temsilci oluşturun.

static createReleaseMap(IInvocationContext context, Throwable e)

Cihaz durumunun haritasını oluşturarak cihazların uygun şekilde serbest bırakılmasını sağlayın.

ISandbox createSandbox()

Çağırmanın çalıştırmak için kullanacağı bir ISandbox oluşturun.

void displayCommandQueue(PrintWriter printWriter)

Komut yürütme sırasının durumu hakkında ayrıntılı hata ayıklama bilgileri verir.

void displayCommandsInfo(PrintWriter printWriter, String regex)

Mevcut komutların listesini göster.

void displayInvocationsInfo(PrintWriter printWriter)

Mevcut çağrıların listesini gösterir.

void dumpCommandsXml(PrintWriter printWriter, String regex)

Tüm geçerli komutlar için belirtilen tüm Option değerleriyle komutun genişletilmiş XML dosyasını dökün.

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

Komutu, halihazırda ayrılmış cihazda doğrudan yürütün.

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

Komutu, halihazırda ayrılmış cihazlarda doğrudan yürütün.

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

Mevcut bir IInvocationContext kullanarak cihazı doğrudan ayırır ve komut kuyruğuna eklemeden komutu yürütür.

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

Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden komut yürütür.

CommandFileWatcher getCommandFileWatcher()

Bu planlayıcı için uygun CommandFileWatcher'ı alın.

int getExecutingCommandCount()

Yürütülüyor durumundaki komut sayısını döndürür.

CommandScheduler.HostState getHostState()
String getInvocationInfo(int invocationId)

Çağrı kimliğini belirterek bir çağrı hakkındaki bilgileri döndürün.

CommandRunner.ExitCode getLastInvocationExitCode()

Çalıştırılan son çağırmanın hata kodunu döndürür.

Throwable getLastInvocationThrowable()

Çalıştırılan son çağırmadan Throwable değerini döndürür.

int getReadyCommandCount()

Kuyrukta hazır durumda olan komut sayısını döndürür.

long getShutdownTimeout()
boolean isDeviceInInvocationThread(ITestDevice device)

Cihaz etkin bir çağırma iş parçacığı tarafından kullanılıyorsa true değerini döndürür.

boolean isShuttingDown()
void notifyFileChanged(File cmdFile, extraArgs)
void removeAllCommands()

Tüm komutları planlayıcıdan kaldırma

void run()

Bu iş parçacığının ana yürütme bloğu.

void setClearcutClient(ClearcutClient client)

İstemciyi koşum verilerini raporlayacak şekilde ayarlama

void setMaxPollTime(long polling)
void setPrintSchedulingWarning(boolean print)
boolean shouldShutdownOnCmdfileError()

Komut hatalarında planlayıcıyı kapatmamız gerekiyorsa true değerini döndürür.

void shutdown(boolean notifyStop)

Komut planlayıcıyı düzgün bir şekilde kapatmaya çalışır.

void shutdownHard(boolean killAdb)

Komut planlayıcıyı zorla kapatmaya çalışır.

void shutdownHard()

Komut planlayıcıyı zorla kapatmaya çalışır.

void shutdownOnEmpty()

shutdown()'ya benzer ancak çıkmadan önce tüm komutların yürütülmesini bekler.

void start()

Günlüğe kaydetme ayarları ve DeviceManager başlatma dahil olmak üzere planlayıcıyı başlatır.

boolean stopInvocation(ITestInvocation invocation)

Çalışan bir çağırmayı durdurun.

boolean stopInvocation(int invocationId, String cause)

Kimliğini belirterek çalışan bir çağırmayı durdurun.

void stopScheduling()

Yeni testlerin planlanmasını ve kabul edilmesini durdurur ancak Tradefed'i durdurmaz.

Korunan yöntemler

void cleanUp()

Çıkmadan önce günlükleri kapatır ve gerekli diğer temizlik işlemlerini yapar.

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 öğesine referans alma için fabrika yöntemi

DeviceManagementGrpcServer getDeviceManagementServer()
IDeviceManager getDeviceManager()

IDeviceManager öğesine referans alma için fabrika yöntemi

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

IGlobalConfiguration içinde belirtilen IKeyStoreFactory kullanılarak IKeyStoreClient getirilir. Tanımlanmamışsa null döndürülür.

TestInvocationManagementServer getTestInvocationManagementServer()
void initLogging()

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

boolean isShutdown()
void processReadyCommands(IDeviceManager manager)

Herkese açık oluşturucular

CommandScheduler

public CommandScheduler ()

CommandScheduler oluşturur.

Not: Kullanmadan önce start() işlevi ç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, temelde çalıştırılacak bir yapılandırmanın ö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. İlk değer, komut başarıyla eklendiyse Boole değeridir true. İ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, aksi takdirde -1 döndürülür.

Dekoratif yastıklar
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şkenlerinin ERROR(/List). Boş olabilir ancak null olmamalıdır.

Dekoratif yastıklar
ConfigurationException

bekle

public void await ()

Planlayıcının çalışmaya başlamasını bekler. Gerekirse eski TF'den devretme işleminin tamamlanmasını da bekler.

checkDelegation

public static TradefedDelegator checkDelegation (String[] args)

Çalıştırmanın temsilciye devredilmesi gerekip gerekmediğini görmek için komut satırına dayalı bir temsilci oluşturun.

Parametreler
args String

İlerlemeler
TradefedDelegator

Dekoratif yastıklar
com.android.tradefed.config.ConfigurationException
ConfigurationException

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Cihaz durumunun haritasını oluşturarak cihazların uygun şekilde serbest bırakılmasını sağlayın.

Parametreler
context IInvocationContext

e Throwable

İlerlemeler

createSandbox

public ISandbox createSandbox ()

Çağırmanı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 durumu hakkında ayrıntılı hata ayıklama bilgileri verir.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Mevcut komutların listesini göster.

Parametreler
printWriter PrintWriter: Çıkışın yapılacağı ERROR(/PrintWriter).

regex String: Komutların yazdırılabilmesi için 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österir.

Parametreler
printWriter PrintWriter: Çıkışın yapılacağı ERROR(/PrintWriter).

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Tüm geçerli komutlar için belirtilen tüm Option değerleriyle komutun genişletilmiş XML dosyasını dökün.

Parametreler
printWriter PrintWriter: Durumun çıkışını almak için ERROR(/PrintWriter).

regex String: XML dosyasının dökümünün alınması 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, halihazırda 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ğırma kimliği.

Dekoratif yastıklar
ConfigurationException

execCommand

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

Komutu, halihazırda 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ğırma kimliği.

Dekoratif yastıklar
ConfigurationException

execCommand

public long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                String[] args)

Mevcut bir IInvocationContext kullanarak cihazı doğrudan ayırır ve komut kuyruğuna eklemeden komutu 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

Dekoratif yastıklar
ConfigurationException
NoDeviceException

execCommand

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

Cihazı doğrudan ayırır ve komut kuyruğuna eklemeden 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ğırma kimliği.

Dekoratif yastıklar
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Bu planlayıcı için uygun CommandFileWatcher'ı alın.

İlerlemeler
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Yürütülüyor 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 belirterek bir çağrı hakkındaki bilgileri döndürün.

Parametreler
invocationId int: Çağırmanın izleme kimliği.

İlerlemeler
String Çağırma hakkında bilgi içeren bir String.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Çalıştırılan son çağırmanın hata kodunu döndürür. Henüz hiçbir çağırma ç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ğırmadan Throwable değerini döndürür. Atılabilir bir hata yoksa boş değer döndürür.

İlerlemeler
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

Kuyrukta hazır durumda olan komut 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ğırma iş parçacığı tarafından kullanılıyorsa true değerini 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 ()

Tüm komutları planlayıcıdan 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 verilerini raporlayacak şekilde ayarlama

Parametreler
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

Parametreler
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

Parametreler
print boolean

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Komut hatalarında planlayıcıyı kapatmamız gerekiyorsa true değerini döndürür.

İlerlemeler
boolean

kapatma

public void shutdown (boolean notifyStop)

Komut planlayıcıyı düzgün bir şekilde kapatmaya çalışır.

Parametreler
notifyStop boolean: Doğruysa 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ğırmaları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()'ya benzer ancak çıkmadan önce tüm komutların yürütülmesini bekler.

Komutlardan herhangi biri döngü modundaysa zamanlayıcının asla çıkmayacağını unutmayın.

start

public void start ()

Günlüğe kaydetme ayarlarını yapma, DeviceManager başlatma gibi işlemler dahil olmak üzere zamanlayıcıyı başlatır.

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

Çalışan bir çağırmayı durdurun.

Parametreler
invocation ITestInvocation

İlerlemeler
boolean Çağırma durdurulduysa doğru, aksi takdirde yanlış

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

Kimliğini belirterek çalışan bir çağırmayı durdurun.

Parametreler
invocationId int: Çağırmanın izleme kimliği.

cause String: Çağırmanın durdurulma nedeni.

İlerlemeler
boolean Çağırma durdurulduysa doğru, aksi takdirde yanlış

stopScheduling

public void stopScheduling ()

Yeni testlerin planlanmasını ve kabul edilmesini durdurur ancak Tradefed'i durdurmaz. Bu, iki adımlı bir kapatma işlemi sağlamak için tasarlanmıştır. İlk adımda, çalışan tüm testler boşaltılır, ardından Tradefed işlemi sonlandırılır.

Korunan yöntemler

cleanUp

protected void cleanUp ()

Çıkmadan önce günlükleri kapatır ve gerekli diğer temizlik işlemlerini yapar.

Birim testlerinin taklit edebilmesi için kullanıma sunulur.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Parametreler
args String

İlerlemeler
IConfiguration

Dekoratif yastıklar
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

İlerlemeler
IInvocationContext

dryRunCommandReporting

protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, 
                IConfiguration config)

Belirli bir komutun deneme çalıştırması olup olmadığını belirler. Komut bir prova ise doğrulayın. Yapılandırmayla ilgili bir sorun varsa ConfigurationException oluşturulur.

Parametreler
handler ICommandScheduler.IScheduledInvocationListener: Test doğrulama için etkinlikleri bildirmek üzere ERROR(/InvocationEventHandler).

config IConfiguration

İlerlemeler
void Komut prova ise doğru, aksi takdirde yanlış.

Dekoratif yastıklar
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

Dekoratif yastıklar
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

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

İlerlemeler
IConfigurationFactory IConfigurationFactory kullanmak için

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

İlerlemeler
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

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

İlerlemeler
IDeviceManager IDeviceManager kullanmak için

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

İlerlemeler
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

İlerlemeler
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

IGlobalConfiguration içinde belirtilen IKeyStoreFactory kullanılarak IKeyStoreClient getirilir. Tanımlanmamışsa null döndürülü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 kullanıma sunulur.

isShutdown

protected boolean isShutdown ()

İlerlemeler
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parametreler
manager IDeviceManager