CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


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

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

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

خلاصه

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

CommandScheduler ()

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

روش های عمومی

Pair <Boolean, Integer> addCommand (String[] args)

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

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

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

void await ()

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

static TradefedDelegator checkDelegation (String[] args)

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

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 مشخص‌شده برای همه دستورات فعلی تخلیه کنید.

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

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

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

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

long 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 ()
boolean isDeviceInInvocationThread ( ITestDevice device)

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

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

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

void run ()

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

void setClearcutClient (ClearcutClient client)

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

boolean shouldShutdownOnCmdfileError ()

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

void shutdown (boolean notifyStop)

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

void shutdownHard (boolean killAdb)

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

void shutdownHard ()

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

void shutdownOnEmpty ()

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

void start ()

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

boolean stopInvocation ( ITestInvocation invocation)

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

boolean stopInvocation (int invocationId, String cause)

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

void stopScheduling ()

برنامه ریزی و پذیرش تست های جدید را متوقف می کند اما Tradefed را متوقف نمی کند.

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

void cleanUp ()

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

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

تعیین می کند که آیا یک دستور داده شده یک اجرا خشک است یا خیر.

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

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

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

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

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

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

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

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

boolean isShutdown ()
void processReadyCommands ( IDeviceManager manager)

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

CommandScheduler

public CommandScheduler ()

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

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

روش های عمومی

addCommand

public Pair<Boolean, Integer> addCommand (String[] args)

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

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

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

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

برمی گرداند
Pair <Boolean, Integer> یک جفت مقدار، اگر دستور با موفقیت اضافه شود، مقدار اول یک true بولی است. مقدار دوم، شناسه ردیاب فرمان شناخته شده (مقدار غیر منفی) است، اگر دستور با موفقیت اضافه شد، وقتی دستور برای همه دستگاه‌ها اضافه شد، 0 را برگردانید، در غیر این صورت -1.

پرتاب می کند
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

پرتاب می کند
com.android.tradefed.config.ConfigurationException
ConfigurationException

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

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

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

reservedDevices : ERROR(/List ) ERROR(/List ) برای استفاده

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

برمی گرداند
long شناسه فراخوانی دستور برنامه ریزی شده.

پرتاب می کند
ConfigurationException

execCommand

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

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

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

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

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

برمی گرداند
long

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

execCommand

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

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

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

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

برمی گرداند
long شناسه فراخوانی دستور برنامه ریزی شده.

پرتاب می کند
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

isDeviceInInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

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

پارامترها
device ITestDevice

برمی گرداند
boolean

خاموش شدن است

public boolean isShuttingDown ()

برمی گرداند
boolean

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

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

پارامترها
notifyStop boolean : اگر درست باشد، فراخوانی خاموش شدن TF را مطلع می کند.

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 درست است اگر فراخوان متوقف شد، در غیر این صورت نادرست است

توقف برنامه ریزی

public void stopScheduling ()

برنامه ریزی و پذیرش تست های جدید را متوقف می کند اما Tradefed را متوقف نمی کند. این به معنای فعال کردن یک خاموشی دو مرحله ای است که در آن ابتدا تمام تست های در حال اجرا را تخلیه می کنیم، سپس فرآیند Tradefed را خاتمه می دهیم.

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

پاکسازی

protected void cleanUp ()

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

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

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

protected IConfiguration createConfiguration (String[] args)

پارامترها
args String

برمی گرداند
IConfiguration

پرتاب می کند
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

برمی گرداند
IInvocationContext

dryRunCommandReporting

protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, 
                IConfiguration config)

تعیین می کند که آیا یک دستور داده شده یک اجرا خشک است یا خیر. اگر دستور خشک است، آن را تأیید کنید. اگر مشکلی در تنظیمات وجود داشته باشد، یک ConfigurationException ایجاد می کند.

پارامترها
handler ICommandScheduler.IScheduledInvocationListener : ERROR(/InvocationEventHandler) برای گزارش رویدادها برای اعتبار سنجی اجرای خشک.

config IConfiguration

برمی گرداند
void درست است اگر دستور یک اجرا خشک باشد، در غیر این صورت نادرست است.

پرتاب می کند
com.android.tradefed.config.ConfigurationException
ConfigurationException

execCommand

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

پارامترها
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

برمی گرداند
long

پرتاب می کند
ConfigurationException

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

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

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

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

برمی گرداند
DeviceManagementGrpcServer

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

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

برمی گرداند
TestInvocationManagementServer

initLogging

protected void initLogging ()

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

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

خاموش شدن است

protected boolean isShutdown ()

برمی گرداند
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

پارامترها
manager IDeviceManager