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

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

enum CommandScheduler.HostState

Farklı ana makine durumları için sıralamalar

Kamu inşaatçıları

CommandScheduler()

CommandScheduler oluşturur.

Herkese açık yöntemler

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

void completeHandover()

Komut planlayıcıya, başlatılan bir devir sırasının tamamen tamamlandığını bildirir ve varsayılan bağlantı noktasında uzak yöneticisini yeniden başlatması gerekir.

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österir.

void dumpCommandsXml(PrintWriter printWriter, String regex)

Komut için genişletilmiş xml dosyasını Tüm mevcut komutlar için Option değerleri belirtildi.

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

Zaten tahsis edilmiş olan cihazda doğrudan komutu yürüt.

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

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

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

Komut planlayıcıya, kullanımdaki cihazların ve komutların ilk devir aktarımını bildirir ve işlemin planlanmasına başlayabilir.

boolean handoverShutdown(int handoverPort)

Bir shutdown() başlatır ve aynı ana makinede başka bir takas işlemine devredir.

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

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.

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

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

IDeviceManager getDeviceManager()

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

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

IKeyStoreFactory kullanarak bir IKeyStoreClient getirir IGlobalConfiguration içinde veya herhangi bir değer tanımlanmamışsa null olarak tanımlanır.

void initLogging()

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

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

Tüm çağrı ileti dizileri tamamlanana kadar bekleyin.

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 boolean addCommand (String[] args)

Planlayıcıya bir komut ekler.

Komut, temelde çalıştırılacak bir yapılandırmanın ve ilişkili bağımsız değişkenlerinin örneğidir.

"--help" ise bağımsız değişkeni için yapılandırmanın çıkışı stdout olur. Aksi takdirde, yapılandırma aşağıdaki durumlarda sıraya eklenir: gerekir.

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

İlerlemeler
boolean Komut başarıyla eklendiyse true

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
ConfigurationException

tamamlandı

public void completeHandover ()

Komut planlayıcıya, başlatılan bir devir sırasının tamamen tamamlandığını bildirir ve varsayılan bağlantı noktasında uzak yöneticisini yeniden başlatması gerekir.

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 void execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                ITestDevice device, 
                String[] args)

Zaten tahsis edilmiş olan cihazda doğrudan komutu yürüt.

Parametreler
listener ICommandScheduler.IScheduledInvocationListener: bilgilendirilecek ICommandScheduler.IScheduledInvocationListener

device ITestDevice: kullanılacak ITestDevice

args String: komut bağımsız değişkenleri

Fırlatma
ConfigurationException

execCommand

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

Fırlatma
ConfigurationException
NoDeviceException

execCommand

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

Fırlatma
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Bu planlayıcı için uygun CommandFileWatcher öğesini edinin

İ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

devir BaşlatmaTamamlandı

public void handoverInitiationComplete ()

Komut planlayıcıya, kullanımdaki cihazların ve komutların ilk devir aktarımını bildirir ve işlemin planlanmasına başlayabilir.

devir Kapat

public boolean handoverShutdown (int handoverPort)

Bir shutdown() başlatır ve aynı ana makinede başka bir takas işlemine devredir.

Planlayıcı, serbest bırakılan cihazların ilgili bağlantı noktasında dinleme gerçekleştirilmesini sağlayan, uzaktan takas edilen işlemi bildirir kullanılabilir hale gelir.

Parametreler
handoverPort int

İlerlemeler
boolean Devir işlemi başarılı olduysa true, false aksi takdirde

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

Komut planlayıcıyı düzgün şekilde kapatmayı deneyin.

Test edilmeyi bekleyen komutları temizler ve devam eden tüm çağrıların yapılmasını ister rahatça kapatılsın.

Kapanış çağrıldıktan sonra planlayıcı ana döngüsü, devam eden tüm çağrıları bekler tamamlamadan önce kontrol edilmesi gerekir.

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

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

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

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

İlerlemeler
IConfigurationFactory kullanılacak IConfigurationFactory

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

IKeyStoreFactory kullanarak bir IKeyStoreClient getirir IGlobalConfiguration içinde veya herhangi bir değer tanımlanmamışsa null olarak tanımlanır.

İlerlemeler
IKeyStoreClient IKeyStoreMüşteri

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

Kapatılıyor

protected boolean isShuttingDown ()

İlerlemeler
boolean

transactionReadyCommands

protected void processReadyCommands (IDeviceManager manager)

Parametreler
manager IDeviceManager

WaitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Tüm çağrı ileti dizileri tamamlanana kadar bekleyin.