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

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

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 Option değerleriyle birlikte komutun genişletilmiş XML dosyasını dökü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, reservedDevices, String[] args)

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

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.

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

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

shutdown() ile benzerdir ancak çıkmadan önce tüm komutların yürütülmesini bekler.

void start()

Günlüğe kaydetme ayarlarını ve DeviceManager'nin başlatılmasını da içeren planlayıcıyı başlatır.

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.

Korunan yöntemler

void cleanUp()

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

IConfiguration createConfiguration(String[] args)
IInvocationContext createInvocationContext()
void dryRunCommandReporting(ICommandScheduler.IScheduledInvocationListener handler, IConfiguration config)

Belirli bir komutun kuru çalıştırma olup olmadığını belirler.

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

IConfigurationFactory için referans alma fabrika yöntemi

DeviceManagementGrpcServer getDeviceManagementServer()
IDeviceManager getDeviceManager()

IDeviceManager için referans alma fabrika yöntemi

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

IGlobalConfiguration içinde tanımlanan IKeyStoreFactory'yi veya 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)

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

getHostOptions

protected IHostOptions getHostOptions ()

İlerlemeler
IHostOptions

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