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)

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

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

shutdown() işlevine benzer, ancak bunun yerine çıkıştan ö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)

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.

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 prova 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 kullanarak bir IKeyStoreClient getirir veya tanımlanmamışsa null değerini döndürür.

TestInvocationManagementServer getTestInvocationManagementServer()
void initLogging()

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

boolean isShutdown()
void processReadyCommands(IDeviceManager manager)

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

getHostOptions

protected IHostOptions getHostOptions ()

İlerlemeler
IHostOptions

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