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

İç içe yerleştirilmiş sınıflar

enum CommandScheduler.HostState

Ana makinenin farklı durumlarının enum değerleri

Herkese açık kurucular

CommandScheduler()

Bir CommandScheduler oluşturur.

Herkese açık yöntemler

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

void completeHandover()

Komut planlayıcıyı, başlatılan bir devir teslimi sırasının tamamen tamamlandığı ve varsayılan bağlantı noktasında uzak yöneticisini yeniden başlatması gerektiği konusunda bilgilendirir.

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

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

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

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

void 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'yi 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()
void handoverInitiationComplete()

Komut planlayıcıyı, kullanılan cihazlar ve komutlarla ilgili ilk devir teslim değişiminin tamamlandığını ve planlama işlemine başlayabileceğini bildirir.

boolean handoverShutdown(int handoverPort)

Bir shutdown() başlatır ve aynı ana makinedeki başka bir tradefed işlemine aktarır.

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

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.

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

IConfigurationFactory için referans alma fabrika yöntemi

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.

void initLogging()

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

boolean isShutdown()
boolean isShuttingDown()
void processReadyCommands(IDeviceManager manager)
void waitForAllInvocationThreads()

Tüm çağrı iş parçacıklarının tamamlanmasını bekleyin.

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 boolean 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ılması için sıraya eklenir.

Parametreler
args String: yapılandırma bağımsız değişkenleri.

İlerlemeler
boolean true (komut başarıyla eklendiyse)

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
ConfigurationException

completeHandover

public void completeHandover ()

Komut planlayıcıyı, başlatılan bir devir teslimi sırasının tamamen tamamlandığı ve varsayılan bağlantı noktasında uzak yöneticisini yeniden başlatması gerektiği konusunda bilgilendirir.

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

Atışlar
ConfigurationException

execCommand

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

Atışlar
ConfigurationException
NoDeviceException

execCommand

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

Atışlar
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Bu planlayıcı için uygun CommandFileWatcher'yi 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

handoverInitiationComplete

public void handoverInitiationComplete ()

Komut planlayıcıyı, kullanılan cihazlar ve komutlarla ilgili ilk devir teslim değişiminin tamamlandığını ve planlama işlemine başlayabileceğini bildirir.

handoverShutdown

public boolean handoverShutdown (int handoverPort)

Bir shutdown() başlatır ve aynı ana makinedeki başka bir tradefed işlemine aktarır.

Planlayıcı, boş cihazlar kullanılabilir hale geldikçe bu bağlantı noktasında dinleyen uzak tradefed işlemini bilgilendirir.

Parametreler
handoverPort int

İlerlemeler
boolean Devre alma işlemi başarılıysa true, aksi takdirde false

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

Komut planlayıcıyı sorunsuz bir şekilde kapatmayı deneyin.

Test edilmeyi bekleyen komutları temizler ve devam eden tüm çağrıların sorunsuz bir şekilde kapatılmasını ister.

Kapatılma çağrısı yapıldıktan sonra planlayıcı ana döngüsü, tamamen çıkmadan önce devam eden tüm çağrıların tamamlanmasını bekler.

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.

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

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

IConfigurationFactory için referans alma fabrika yöntemi

İlerlemeler
IConfigurationFactory IConfigurationFactory

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 veya tanımlanmamışsa null değerini kullanarak bir IKeyStoreClient getirir.

İlerlemeler
IKeyStoreClient IKeyStoreClient

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

isShuttingDown

protected boolean isShuttingDown ()

İlerlemeler
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parametreler
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Tüm çağrı iş parçacıklarının tamamlanmasını bekleyin.