CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.object
com.android.tradefed.command.CommandScheduler


یک زمانبندی برای اجرای دستورات TradeFederation در تمام دستگاه های موجود.

تلاش خواهد کرد تا دستورات را بر اساس تعداد کل زمان اجرای آنها اولویت بندی کند. به عنوان مثال، دستورات نادر یا سریع در حال اجرا بر دستورات طولانی در اولویت قرار می گیرند.

تا زمان خاموش شدن برای همیشه در پس زمینه اجرا می شود.

خلاصه

کلاس های تو در تو

enum CommandScheduler.HostState

فهرستی از وضعیت های مختلف میزبان

سازندگان عمومی

CommandScheduler ()

یک CommandScheduler ایجاد می کند.

روش های عمومی

boolean addCommand (String[] args)

دستوری را به زمانبندی اضافه می کند.

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

تمام دستورات فایل داده شده را به زمانبندی اضافه می کند

void await ()

منتظر می‌ماند تا زمان‌بندی شروع به اجرا کند، از جمله انتظار برای تکمیل تحویل از TF قدیمی در صورت لزوم.

static TradefedDelegator checkDelegation (String[] args)

یک delegator بر اساس خط فرمان ایجاد کنید تا ببینید آیا نیاز به واگذاری اجرا داریم یا خیر.

void completeHandover ()

به زمان‌بندی فرمان اطلاع می‌دهد که یک دنباله تحویل آغاز شده کاملاً کامل است و باید مدیریت راه دور خود را در پورت پیش‌فرض مجدداً راه‌اندازی کند.

static createReleaseMap (IInvocationContext context, Throwable e)

نقشه ای از وضعیت دستگاه ها ایجاد کنید تا بتوانند به طور مناسب منتشر شوند.

ISandbox createSandbox ()

یک ISandbox ایجاد کنید که فراخوان برای اجرا از آن استفاده کند.

void displayCommandQueue (PrintWriter printWriter)

اطلاعات دقیق اشکال زدایی را در مورد وضعیت صف اجرای فرمان خروجی بگیرید.

void displayCommandsInfo (PrintWriter printWriter, String regex)

خروجی لیستی از دستورات فعلی

void displayInvocationsInfo (PrintWriter printWriter)

فهرستی از فراخوان های جاری را نمایش می دهد.

void dumpCommandsXml (PrintWriter printWriter, String regex)

فایل xml گسترش‌یافته را با تمام مقادیر Option مشخص‌شده برای همه دستورات فعلی تخلیه کنید.

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

به طور مستقیم دستور را در دستگاه از قبل اختصاص داده شده اجرا کنید.

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

به طور مستقیم یک دستگاه را اختصاص می دهد و یک فرمان را بدون افزودن آن به صف فرمان با استفاده از یک IInvocationContext از قبل موجود اجرا می کند.

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

به طور مستقیم یک دستگاه را اختصاص می دهد و یک دستور را بدون افزودن آن به صف فرمان اجرا می کند.

CommandFileWatcher getCommandFileWatcher ()

CommandFileWatcher مناسب را برای این زمانبندی دریافت کنید

int getExecutingCommandCount ()

تعداد دستورات را در حالت اجرا برمی‌گرداند.

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

اطلاعات یک invocation bu را که شناسه فراخوانی را مشخص می کند، برگردانید.

CommandRunner.ExitCode getLastInvocationExitCode ()

کد خطای آخرین فراخوانی که اجرا شد را برگردانید.

Throwable getLastInvocationThrowable ()

Throwable از آخرین فراخوانی که اجرا شد، برگردانید.

int getReadyCommandCount ()

تعداد دستورات را در حالت آماده در صف برمی گرداند.

long getShutdownTimeout ()
void handoverInitiationComplete ()

به زمانبندی فرمان اطلاع می دهد که مبادله تحویل اولیه دستگاه ها و دستورات در حال استفاده کامل شده است و می تواند عملیات زمان بندی را آغاز کند.

boolean handoverShutdown (int handoverPort)

یک shutdown() آغاز می کند و به یک فرآیند تجارت شده دیگر در همین هاست تحویل می دهد.

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

تمام دستورات را از زمانبندی حذف کنید

void run ()

بلوک اصلی اجرای این موضوع.

void setClearcutClient (ClearcutClient client)

سرویس گیرنده را تنظیم کنید تا داده های مهار را گزارش کند

boolean shouldShutdownOnCmdfileError ()

اگر نیاز به خاموش کردن زمان‌بند در خطاهای یک فرمان داریم، مقدار true را برگردانید

void shutdown ()

سعی کنید برنامه زمانبندی فرمان را با ظرافت خاموش کنید.

void shutdownHard (boolean killAdb)

سعی کنید به اجبار زمانبندی فرمان را خاموش کنید.

void shutdownHard ()

سعی کنید به اجبار زمانبندی فرمان را خاموش کنید.

void shutdownOnEmpty ()

شبیه shutdown() است، اما در عوض منتظر می ماند تا همه دستورات قبل از خروج اجرا شوند.

void start ()

زمان‌بندی را از جمله راه‌اندازی لاگ، init DeviceManager و غیره شروع می‌کند

boolean stopInvocation ( ITestInvocation invocation)

یک فراخوان در حال اجرا را متوقف کنید.

boolean stopInvocation (int invocationId, String cause)

یک فراخوان در حال اجرا را با مشخص کردن شناسه آن متوقف کنید.

روش های محافظت شده

void cleanUp ()

گزارش‌ها را می‌بندد و هر گونه پاکسازی لازم دیگر را قبل از ترک کردن انجام می‌دهد.

IConfiguration createConfiguration (String[] args)
IInvocationContext createInvocationContext ()
IConfigurationFactory getConfigFactory ()

روش کارخانه برای دریافت ارجاع به IConfigurationFactory

IDeviceManager getDeviceManager ()

روش کارخانه برای دریافت ارجاع به IDeviceManager

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

یک IKeyStoreClient با استفاده از IKeyStoreFactory که در IGlobalConfiguration اعلام شده است واکشی می‌کند یا اگر تعریف نشده باشد، null می‌کند.

void initLogging ()

گزارش ddmlib را راه اندازی می کند.

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

صبر کنید تا تمام رشته های فراخوانی کامل شوند.

سازندگان عمومی

CommandScheduler

public CommandScheduler ()

یک CommandScheduler ایجاد می کند.

توجه: شروع باید قبل از استفاده فراخوانی شود.

روش های عمومی

addCommand

public boolean addCommand (String[] args)

دستوری را به زمانبندی اضافه می کند.

یک دستور اساساً نمونه ای از پیکربندی برای اجرا و آرگومان های مرتبط با آن است.

اگر آرگومان "--help" مشخص شده باشد، متن راهنما برای پیکربندی برای stdout خروجی خواهد شد. در غیر این صورت پیکربندی برای اجرا به صف اضافه می شود.

پارامترها
args String : آرگومان های پیکربندی.

برمی گرداند
boolean true اگر دستور با موفقیت اضافه شود

پرتاب می کند
ConfigurationException

افزودن CommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

تمام دستورات فایل داده شده را به زمانبندی اضافه می کند

پارامترها
cmdFilePath String : مسیر فایل سیستم فایل فرمان

extraArgs : یک ERROR(/List) از آرگومان های String که به هر دستور تجزیه شده از فایل اضافه می شود. می تواند خالی باشد اما نباید پوچ باشد.

پرتاب می کند
ConfigurationException

در انتظار

public void await ()

منتظر می‌ماند تا زمان‌بندی شروع به اجرا کند، از جمله انتظار برای تکمیل تحویل از TF قدیمی در صورت لزوم.

تفویض اختیار را بررسی کنید

public static TradefedDelegator checkDelegation (String[] args)

یک delegator بر اساس خط فرمان ایجاد کنید تا ببینید آیا نیاز به واگذاری اجرا داریم یا خیر.

پارامترها
args String

برمی گرداند
TradefedDelegator

پرتاب می کند
ConfigurationException

تحویل کامل

public void completeHandover ()

به زمان‌بندی فرمان اطلاع می‌دهد که یک دنباله تحویل آغاز شده کاملاً کامل است و باید مدیریت راه دور خود را در پورت پیش‌فرض مجدداً راه‌اندازی کند.

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

نقشه ای از وضعیت دستگاه ها ایجاد کنید تا بتوانند به طور مناسب منتشر شوند.

پارامترها
context IInvocationContext

e Throwable

برمی گرداند

ایجاد سندباکس

public ISandbox createSandbox ()

یک ISandbox ایجاد کنید که فراخوان برای اجرا از آن استفاده کند.

برمی گرداند
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

اطلاعات دقیق اشکال زدایی را در مورد وضعیت صف اجرای فرمان خروجی بگیرید.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

خروجی لیستی از دستورات فعلی

پارامترها
printWriter PrintWriter : ERROR(/PrintWriter) برای خروجی.

regex String : عبارت منظمی که دستورات باید با آن مطابقت داده شوند تا چاپ شوند. اگر null باشد، تمام دستورات چاپ خواهند شد.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

فهرستی از فراخوان های جاری را نمایش می دهد.

پارامترها
printWriter PrintWriter : ERROR(/PrintWriter) برای خروجی.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

فایل xml گسترش‌یافته را با تمام مقادیر Option مشخص‌شده برای همه دستورات فعلی تخلیه کنید.

پارامترها
printWriter PrintWriter : ERROR(/PrintWriter) برای خروجی وضعیت.

regex String : عبارت منظمی که دستورات باید با آن تطبیق داده شوند تا فایل xml ریخته شود. اگر تهی باشد، تمام دستورات حذف خواهند شد.

execCommand

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

به طور مستقیم دستور را در دستگاه از قبل اختصاص داده شده اجرا کنید.

پارامترها
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener باید مطلع شود

device ITestDevice : ITestDevice مورد استفاده

args String : آرگومان های فرمان

پرتاب می کند
ConfigurationException

execCommand

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

به طور مستقیم یک دستگاه را اختصاص می دهد و یک فرمان را بدون افزودن آن به صف فرمان با استفاده از یک IInvocationContext از قبل موجود اجرا می کند.

پارامترها
context IInvocationContext : یک IInvocationContext موجود.

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener باید مطلع شود

args String : آرگومان های فرمان

پرتاب می کند
ConfigurationException
NoDeviceException

execCommand

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

به طور مستقیم یک دستگاه را اختصاص می دهد و یک دستور را بدون افزودن آن به صف فرمان اجرا می کند.

پارامترها
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener باید مطلع شود

args String : آرگومان های فرمان

پرتاب می کند
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

CommandFileWatcher مناسب را برای این زمانبندی دریافت کنید

برمی گرداند
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

تعداد دستورات را در حالت اجرا برمی‌گرداند.

برمی گرداند
int

getHostState

public CommandScheduler.HostState getHostState ()

برمی گرداند
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

اطلاعات یک invocation bu را که شناسه فراخوانی را مشخص می کند، برگردانید.

پارامترها
invocationId int : شناسه ردیابی فراخوانی.

برمی گرداند
String یک String حاوی اطلاعات مربوط به فراخوانی.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

کد خطای آخرین فراخوانی که اجرا شد را برگردانید. اگر هنوز فراخوانی اجرا نشده است، 0 را برگردانید (بدون خطایی).

برمی گرداند
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Throwable از آخرین فراخوانی که اجرا شد، برگردانید. اگر هیچ قابل پرتابی در دسترس نباشد، پوچ را برگردانید.

برمی گرداند
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

تعداد دستورات را در حالت آماده در صف برمی گرداند.

برمی گرداند
int

getShutdownTimeout

public long getShutdownTimeout ()

برمی گرداند
long

handoverInitiationComplete

public void handoverInitiationComplete ()

به زمانبندی فرمان اطلاع می دهد که مبادله تحویل اولیه دستگاه ها و دستورات در حال استفاده کامل شده است و می تواند عملیات زمان بندی را آغاز کند.

واگذاری خاموش شدن

public boolean handoverShutdown (int handoverPort)

یک shutdown() آغاز می کند و به یک فرآیند تجارت شده دیگر در همین هاست تحویل می دهد.

زمانی که دستگاه‌های آزاد شده در دسترس قرار می‌گیرند، زمان‌بندی‌کننده به فرآیند تبادل از راه دور گوش دادن در آن پورت دستگاه‌های آزاد شده اطلاع می‌دهد.

پارامترها
handoverPort int

برمی گرداند
boolean true اگر شروع تحویل موفقیت آمیز بود، در غیر این صورت false

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

پارامترها
cmdFile File

extraArgs

حذف همه دستورات

public void removeAllCommands ()

تمام دستورات را از زمانبندی حذف کنید

اجرا کنید

public void run ()

بلوک اصلی اجرای این موضوع.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

سرویس گیرنده را تنظیم کنید تا داده های مهار را گزارش کند

پارامترها
client ClearcutClient

بایدShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

اگر نیاز به خاموش کردن زمان‌بند در خطاهای یک فرمان داریم، مقدار true را برگردانید

برمی گرداند
boolean

خاموش شدن

public void shutdown ()

سعی کنید برنامه زمانبندی فرمان را با ظرافت خاموش کنید.

دستورات در انتظار آزمایش را پاک می‌کند و درخواست می‌کند که همه فراخوان‌های در حال انجام به‌خوبی خاموش شوند.

پس از فراخوانی shutdown، حلقه اصلی زمان‌بند منتظر می‌ماند تا تمام فراخوان‌های در حال انجام قبل از خروج کامل کامل شوند.

shutdownHard

public void shutdownHard (boolean killAdb)

سعی کنید به اجبار زمانبندی فرمان را خاموش کنید.

مشابه shutdown() است، اما به صورت اختیاری اتصال adb را نیز از بین می برد، در تلاشی برای "الهام بخشیدن" فراخوانی های در حال انجام برای تکمیل سریعتر.

پارامترها
killAdb boolean

shutdownHard

public void shutdownHard ()

سعی کنید به اجبار زمانبندی فرمان را خاموش کنید. مانند shutdownHard (درست است).

shutdownOnEmpty

public void shutdownOnEmpty ()

شبیه shutdown() است، اما در عوض منتظر می ماند تا همه دستورات قبل از خروج اجرا شوند.

توجه داشته باشید که اگر هر دستوری در حالت حلقه باشد، زمانبندی هرگز خارج نخواهد شد.

شروع کنید

public void start ()

زمان‌بندی را از جمله راه‌اندازی لاگ، init DeviceManager و غیره شروع می‌کند

stopInvocation

public boolean stopInvocation (ITestInvocation invocation)

یک فراخوان در حال اجرا را متوقف کنید.

پارامترها
invocation ITestInvocation

برمی گرداند
boolean درست است اگر فراخوان متوقف شد، در غیر این صورت نادرست است

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

یک فراخوان در حال اجرا را با مشخص کردن شناسه آن متوقف کنید.

پارامترها
invocationId int : شناسه ردیابی فراخوانی.

cause String : علت توقف فراخوان.

برمی گرداند
boolean درست است اگر فراخوان متوقف شد، در غیر این صورت نادرست است

روش های محافظت شده

پاکسازی

protected void cleanUp ()

گزارش‌ها را می‌بندد و هر گونه پاکسازی لازم دیگر را قبل از ترک کردن انجام می‌دهد.

در معرض تا تست های واحد می توانند مسخره کنند.

ایجاد پیکربندی

protected IConfiguration createConfiguration (String[] args)

پارامترها
args String

برمی گرداند
IConfiguration

پرتاب می کند
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

برمی گرداند
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

روش کارخانه برای دریافت ارجاع به IConfigurationFactory

برمی گرداند
IConfigurationFactory IConfigurationFactory برای استفاده

getDeviceManager

protected IDeviceManager getDeviceManager ()

روش کارخانه برای دریافت ارجاع به IDeviceManager

برمی گرداند
IDeviceManager IDeviceManager برای استفاده

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

برمی گرداند
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

برمی گرداند
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

یک IKeyStoreClient با استفاده از IKeyStoreFactory که در IGlobalConfiguration اعلام شده است واکشی می‌کند یا اگر تعریف نشده باشد، null می‌کند.

برمی گرداند
IKeyStoreClient IKeyStoreClient

initLogging

protected void initLogging ()

گزارش ddmlib را راه اندازی می کند.

در معرض تا تست های واحد می توانند مسخره کنند.

خاموش شدن است

protected boolean isShutdown ()

برمی گرداند
boolean

خاموش شدن است

protected boolean isShuttingDown ()

برمی گرداند
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

پارامترها
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

صبر کنید تا تمام رشته های فراخوانی کامل شوند.