CommandScheduler
public class CommandScheduler
extends Object
implements ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
برنامج جدولة لتشغيل أوامر TradeFederation عبر جميع الأجهزة المتاحة.
سيحاول تحديد أولويات الأوامر للتشغيل بناءً على إجمالي عدد التشغيل لوقت تنفيذها. على سبيل المثال ، سيتم إعطاء الأولوية للأوامر غير المتكررة أو سريعة التشغيل على أوامر التشغيل الطويلة.
يعمل إلى الأبد في الخلفية حتى الإغلاق.
ملخص
المنشأت العامة | |
---|---|
CommandScheduler () ينشئ |
الأساليب العامة | |
---|---|
Pair <Boolean, Integer> | addCommand (String[] args) يضيف أمرًا إلى المجدول. |
void | addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs) يضيف كل الأوامر من ملف معين إلى المجدول |
void | await () انتظار بدء تشغيل المجدول ، بما في ذلك انتظار التسليم من فريق العمل القديم حتى يكتمل إن أمكن. |
static TradefedDelegator | checkDelegation (String[] args) قم بإنشاء مفوض بناءً على سطر الأوامر لمعرفة ما إذا كنا بحاجة إلى تفويض التشغيل. |
static | createReleaseMap ( IInvocationContext context, Throwable e) قم بإنشاء خريطة لحالة الأجهزة حتى يمكن إصدارها بشكل مناسب. |
ISandbox | createSandbox () أنشئ |
void | displayCommandQueue (PrintWriter printWriter) إخراج معلومات تصحيح الأخطاء التفصيلية في قائمة انتظار تنفيذ الأوامر. |
void | displayCommandsInfo (PrintWriter printWriter, String regex) قم بإخراج قائمة بالأوامر الحالية. |
void | displayInvocationsInfo (PrintWriter printWriter) يعرض قائمة الدعوات الحالية. |
void | dumpCommandsXml (PrintWriter printWriter, String regex) تفريغ ملف xml الموسع للأمر بكل قيم |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) تنفيذ الأمر مباشرة على الأجهزة المخصصة بالفعل. |
long | execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args) يخصص جهازًا بشكل مباشر وينفذ أمرًا دون إضافته إلى قائمة انتظار الأوامر باستخدام |
long | execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args) يخصص جهازًا بشكل مباشر وينفذ أمرًا دون إضافته إلى قائمة انتظار الأوامر. |
CommandFileWatcher | getCommandFileWatcher () احصل على |
int | getExecutingCommandCount () إرجاع عدد الأوامر في حالة التنفيذ. |
CommandScheduler.HostState | getHostState () |
String | getInvocationInfo (int invocationId) قم بإرجاع المعلومات على استدعاء bu يحدد معرّف الاستدعاء. |
CommandRunner.ExitCode | getLastInvocationExitCode () قم بإرجاع رمز الخطأ الخاص بآخر استدعاء تم تشغيله. |
Throwable | getLastInvocationThrowable () قم بإرجاع |
int | getReadyCommandCount () تُرجع عدد الأوامر في حالة الاستعداد في قائمة الانتظار. |
long | getShutdownTimeout () |
boolean | isDeviceInInvocationThread ( ITestDevice device) يعود صحيحًا إذا تم استخدام الجهاز بواسطة سلسلة استدعاء نشطة. |
void | notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs) |
void | removeAllCommands () قم بإزالة كافة الأوامر من المجدول |
void | run () كتلة التنفيذ الرئيسية لهذا الموضوع. |
void | setClearcutClient (ClearcutClient client) اضبط العميل على الإبلاغ عن بيانات التسخير |
boolean | shouldShutdownOnCmdfileError () العودة صحيحًا إذا احتجنا إلى إيقاف تشغيل المجدول عند حدوث أخطاء في الأمر |
void | shutdown (boolean notifyStop) محاولة إيقاف تشغيل برنامج جدولة الأوامر بأمان. |
void | shutdownHard (boolean killAdb) محاولة إيقاف تشغيل برنامج جدولة الأوامر بالقوة. |
void | shutdownHard () محاولة إيقاف تشغيل برنامج جدولة الأوامر بالقوة. |
void | shutdownOnEmpty () على غرار |
void | start () يبدأ المجدول بما في ذلك إعداد التسجيل ، وبدء |
boolean | stopInvocation ( ITestInvocation invocation) وقف الدعاء الجاري. |
boolean | stopInvocation (int invocationId, String cause) أوقف الاحتجاج الجاري بتحديد معرفه. |
المنشأت العامة
CommandScheduler
public CommandScheduler ()
ينشئ CommandScheduler
.
ملاحظة: يجب استدعاء البداية قبل الاستخدام.
الأساليب العامة
addCommand
public Pair<Boolean, Integer> addCommand (String[] args)
يضيف أمرًا إلى المجدول.
الأمر هو في الأساس مثيل للتكوين الذي سيتم تشغيله والوسيطات المرتبطة به.
إذا تم تحديد الوسيطة "--help" ، فسيتم إخراج نص التعليمات الخاص بالتكوين إلى stdout. خلاف ذلك ، ستتم إضافة التكوين إلى قائمة الانتظار للتشغيل.
حدود | |
---|---|
args | String : وسيطات التكوين. |
عائدات | |
---|---|
Pair <Boolean, Integer> | زوج من القيم ، القيمة الأولى هي قيمة منطقية true إذا تم إضافة الأمر بنجاح. القيمة الثانية هي معرف تعقب الأمر المعروف (قيمة غير سالبة) إذا تمت إضافة الأمر بنجاح ، فقم بإرجاع 0 عند إضافة الأمر لجميع الأجهزة ، وإلا -1. |
رميات | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
يضيف كل الأوامر من ملف معين إلى المجدول
حدود | |
---|---|
cmdFilePath | String : مسار نظام الملفات لملف comand |
extraArgs | ERROR(/List) وسيطات ERROR(/String) لإلحاقها بكل أمر تم تحليله من الملف. يمكن أن يكون فارغًا ولكن لا يجب أن يكون فارغًا. |
رميات | |
---|---|
ConfigurationException |
انتظر
public void await ()
انتظار بدء تشغيل المجدول ، بما في ذلك انتظار التسليم من فريق العمل القديم حتى يكتمل إن أمكن.
check التفويض
public static TradefedDelegator checkDelegation (String[] args)
قم بإنشاء مفوض بناءً على سطر الأوامر لمعرفة ما إذا كنا بحاجة إلى تفويض التشغيل.
حدود | |
---|---|
args | String |
عائدات | |
---|---|
TradefedDelegator |
رميات | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |
إنشاءReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
قم بإنشاء خريطة لحالة الأجهزة حتى يمكن إصدارها بشكل مناسب.
حدود | |
---|---|
context | IInvocationContext |
e | Throwable |
عائدات | |
---|---|
إنشاء Sandbox
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 : التعبير العادي الذي يجب مطابقة الأوامر من أجل طباعتها. إذا كانت فارغة ، فستتم طباعة جميع الأوامر. |
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 |
getInvocationInfo
public String getInvocationInfo (int invocationId)
قم بإرجاع المعلومات على استدعاء bu يحدد معرّف الاستدعاء.
حدود | |
---|---|
invocationId | int : معرف تتبع الاحتجاج. |
عائدات | |
---|---|
String | ERROR(/String) يحتوي على معلومات حول الاستدعاء. |
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
قم بإرجاع رمز الخطأ الخاص بآخر استدعاء تم تشغيله. قم بإرجاع 0 (بدون خطأ) ، إذا لم يتم تنفيذ أي استدعاء بعد.
عائدات | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
قم بإرجاع ERROR(/Throwable)
من الاستدعاء الأخير الذي تم تشغيله. العودة فارغة ، إذا لم يكن هناك رمي متاح.
عائدات | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
تُرجع عدد الأوامر في حالة الاستعداد في قائمة الانتظار.
عائدات | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
عائدات | |
---|---|
long |
isDeviceInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
يعود صحيحًا إذا تم استخدام الجهاز بواسطة سلسلة استدعاء نشطة.
حدود | |
---|---|
device | ITestDevice |
عائدات | |
---|---|
boolean |
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
حدود | |
---|---|
cmdFile | File |
extraArgs |
إزالة AllCommands
public void removeAllCommands ()
قم بإزالة كافة الأوامر من المجدول
يجري
public void run ()
كتلة التنفيذ الرئيسية لهذا الموضوع.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
اضبط العميل على الإبلاغ عن بيانات التسخير
حدود | |
---|---|
client | ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
العودة صحيحًا إذا احتجنا إلى إيقاف تشغيل المجدول عند حدوث أخطاء في الأمر
عائدات | |
---|---|
boolean |
اغلق
public void shutdown (boolean notifyStop)
محاولة إيقاف تشغيل برنامج جدولة الأوامر بأمان.
حدود | |
---|---|
notifyStop | boolean : إذا كان صحيحًا ، يخطر استدعاءات إيقاف تشغيل TF. |
الاغلاق
public void shutdownHard (boolean killAdb)
محاولة إيقاف تشغيل برنامج جدولة الأوامر بالقوة.
على غرار shutdown()
، ولكنه سيؤدي أيضًا إلى إنهاء اتصال adb اختياريًا ، في محاولة "إلهام" الدعوات قيد التقدم لإكمالها بشكل أسرع.
حدود | |
---|---|
killAdb | boolean |
الاغلاق
public void shutdownHard ()
محاولة إيقاف تشغيل برنامج جدولة الأوامر بالقوة. نفس الاغلاق صعب (صحيح).
إيقاف التشغيل فارغة
public void shutdownOnEmpty ()
على غرار shutdown()
، لكنه سينتظر بدلاً من ذلك تنفيذ جميع الأوامر قبل الخروج.
لاحظ أنه إذا كانت هناك أية أوامر في وضع التكرار ، فلن يخرج المجدول أبدًا.
وقف الدعوة
public boolean stopInvocation (ITestInvocation invocation)
وقف الدعاء الجاري.
حدود | |
---|---|
invocation | ITestInvocation |
عائدات | |
---|---|
boolean | صحيح إذا تم إيقاف الاحتجاج ، وخلاف ذلك خطأ |
وقف الدعوة
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 |
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 المراد استخدامه |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
يجلب IKeyStoreClient
باستخدام IKeyStoreFactory
المعلن في IGlobalConfiguration
أو لاغٍ إذا لم يتم تعريف أي شيء.
عائدات | |
---|---|
IKeyStoreClient | IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
عائدات | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
تهيئة سجل ddmlib.
مكشوفة حتى يمكن لاختبارات الوحدة السخرية.
هو الاغلاق
protected boolean isShutdown ()
عائدات | |
---|---|
boolean |
هو إيقاف
protected boolean isShuttingDown ()
عائدات | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
حدود | |
---|---|
manager | IDeviceManager |