CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
أداة جدولة لتشغيل أوامر TradeFederation على جميع الأجهزة المتاحة
سيحاول منح الأولوية للأوامر التي سيتم تنفيذها استنادًا إلى إجمالي عدد عمليات التنفيذ لها. على سبيل المثال، سيتم منح الأولوية للأوامر التي يتم تنفيذها بشكل غير متكرر أو سريع على الأوامر التي تستغرق وقتًا طويلاً في التنفيذ.
يتم تشغيله إلى الأبد في الخلفية إلى أن يتم إيقافه.
ملخّص
الفئات المُدمجة | |
---|---|
enum |
CommandScheduler.HostState
أنواع مختلفة من حالات المضيف |
وظائف الإنشاء العامة | |
---|---|
CommandScheduler()
لإنشاء |
الطرق العامة | |
---|---|
boolean
|
addCommand(String[] args)
تُضيف أمرًا إلى أداة الجدولة. |
void
|
addCommandFile(String cmdFilePath,
تُضيف جميع الأوامر من ملف معيّن إلى المخطِّط |
void
|
await()
ينتظر بدء تشغيل المخطِّط، بما في ذلك انتظار اكتمال عملية التسليم من عملية التحويل الناجحة القديمة إذا كان ذلك منطبقًا. |
static
TradefedDelegator
|
checkDelegation(String[] args)
أنشئ مفوِّضًا استنادًا إلى سطر الأوامر لمعرفة ما إذا كنا بحاجة إلى تفويض عملية التشغيل. |
void
|
completeHandover()
إبلاغ جدولة الأوامر بأنّ تسلسل عملية التسليم التي تمّ بدؤها قد اكتمل بالكامل، ويجب أن تتم إعادة بدء عملية إعداد مديره عن بُعد على المنفذ التلقائي |
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 الموسّع للطلب مع جميع قيم
|
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
تنفيذ الأمر مباشرةً على الجهاز الذي سبق أن تم تخصيصه |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
تخصيص جهاز مباشرةً وتنفيذ أمر بدون إضافته إلى قائمة انتظار الأوامر
باستخدام |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
تخصيص جهاز مباشرةً وتنفيذ أمر بدون إضافته إلى قائمة انتظار الأوامر |
CommandFileWatcher
|
getCommandFileWatcher()
الحصول على |
int
|
getExecutingCommandCount()
تعرِض هذه الدالة عدد الأوامر في حالة التنفيذ. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
عرض معلومات عن طلب من خلال تحديد معرّف الطلب |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
عرض رمز الخطأ لآخر عملية استدعاء تم تنفيذها |
Throwable
|
getLastInvocationThrowable()
عرض الرمز |
int
|
getReadyCommandCount()
تعرِض هذه السمة عدد الأوامر في حالة "جاهز" في "القائمة الانتظار". |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
إبلاغ جدولة الأوامر بأنّ عملية التسليم الأولية للأجهزة والأوامرقيد الاستخدام اكتملت، ويمكنه بدء جدولة العملية |
boolean
|
handoverShutdown(int handoverPort)
تبدأ عملية |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
إزالة جميع الأوامر من المخطِّط |
void
|
run()
مجموعة التنفيذ الرئيسية لسلسلة التعليمات هذه. |
void
|
setClearcutClient(ClearcutClient client)
ضبط العميل لإعداد تقارير عن بيانات الحِزم |
boolean
|
shouldShutdownOnCmdfileError()
عرض True إذا احتجنا إلى إيقاف المخطِّط عند حدوث أخطاء في الأوامر |
void
|
shutdown()
محاولة إيقاف "جدولة الأوامر" بشكل سليم |
void
|
shutdownHard(boolean killAdb)
محاولة إيقاف جدولة الأوامر بالقوة |
void
|
shutdownHard()
محاولة إيقاف جدولة الأوامر بالقوة |
void
|
shutdownOnEmpty()
يشبه الأمر |
void
|
start()
يبدأ المخطِّط، بما في ذلك إعداد التسجيل وبدء |
boolean
|
stopInvocation(ITestInvocation invocation)
إيقاف طلب قيد التنفيذ |
boolean
|
stopInvocation(int invocationId, String cause)
يمكنك إيقاف طلب قيد التنفيذ من خلال تحديد رقم تعريفه. |
الطرق المحمية | |
---|---|
void
|
cleanUp()
يتم إغلاق السجلات وتنفيذ أي عملية تنظيف أخرى ضرورية قبل الخروج. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
طريقة المصنع للحصول على إشارة إلى |
IDeviceManager
|
getDeviceManager()
طريقة المصنع للحصول على إشارة إلى |
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
تُستخدَم هذه الدالة لجلب |
void
|
initLogging()
تبدأ عملية إعداد سجل ddmlib. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
انتظِر حتى تكتمل جميع سلاسل استدعاء الوظائف. |
وظائف الإنشاء العامة
CommandScheduler
public CommandScheduler ()
لإنشاء CommandScheduler
.
ملاحظة: يجب استدعاء start قبل الاستخدام.
الطرق العامة
addCommand
public boolean addCommand (String[] args)
تُضيف أمرًا إلى أداة الجدولة.
الأمر هو في الأساس مثيل لإعدادات التشغيل ووسيطاته المرتبطة به.
في حال تحديد الوسيطة "--help"، سيتم عرض نص المساعدة الخاص بالملفّ التكويني في stdout. بخلاف ذلك، ستتم إضافة الإعداد إلى "قائمة الانتظار" لبدء تنفيذه.
المعلمات | |
---|---|
args |
String : وسيطات الإعداد |
المرتجعات | |
---|---|
boolean |
true إذا تمت إضافة الأمر بنجاح |
عمليات الرمي | |
---|---|
ConfigurationException |
addCommandFile
public void addCommandFile (String cmdFilePath,extraArgs)
تُضيف جميع الأوامر من ملف معيّن إلى المخطِّط
المعلمات | |
---|---|
cmdFilePath |
String : مسار نظام الملفات لملف الأوامر |
extraArgs |
: ERROR(/List) من وسيطات String لإضافتها إلى كل أمر تم تحليله
من الملف يمكن أن تكون فارغة ولكن يجب ألا تكون فارغة. |
عمليات الرمي | |
---|---|
ConfigurationException |
في انتظار
public void await ()
ينتظر بدء تشغيل المخطِّط، بما في ذلك انتظار اكتمال عملية التسليم من عملية التحويل الناجحة القديمة إذا كان ذلك منطبقًا.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
أنشئ مفوِّضًا استنادًا إلى سطر الأوامر لمعرفة ما إذا كنا بحاجة إلى تفويض عملية التشغيل.
المعلمات | |
---|---|
args |
String |
المرتجعات | |
---|---|
TradefedDelegator |
عمليات الرمي | |
---|---|
ConfigurationException |
completeHandover
public void completeHandover ()
إبلاغ جدولة الأوامر بأنّ تسلسل عملية التسليم التي تمّ بدؤها قد اكتمل بالكامل، ويجب أن تتم إعادة بدء عملية إعداد مديره عن بُعد على المنفذ التلقائي
createReleaseMap
public staticcreateReleaseMap (IInvocationContext context, Throwable e)
أنشئ خريطة لحالة الأجهزة حتى يمكن إصدارها بشكل مناسب.
المعلمات | |
---|---|
context |
IInvocationContext |
e |
Throwable |
المرتجعات | |
---|---|
|
createSandbox
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 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 |
getInvocationInfo
public String getInvocationInfo (int invocationId)
عرض معلومات عن طلب من خلال تحديد معرّف الطلب
المعلمات | |
---|---|
invocationId |
int : رقم تعريف التتبّع لطلب التنفيذ |
المرتجعات | |
---|---|
String |
String يحتوي على معلومات عن الطلب
|
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
عرض رمز الخطأ لآخر عملية استدعاء تم تنفيذها عرض القيمة 0 (بدون خطأ) إذا لم يتم تنفيذ أيّ طلب حتى الآن
المرتجعات | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
عرض الرمز Throwable
من آخر عملية استدعاء تم تنفيذها
عرض قيمة فارغة إذا لم يكن هناك عنصر throwable متاحًا
المرتجعات | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
تعرِض هذه السمة عدد الأوامر في حالة "جاهز" في "القائمة الانتظار".
المرتجعات | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
المرتجعات | |
---|---|
long |
handoverInitiationComplete
public void handoverInitiationComplete ()
إبلاغ جدولة الأوامر بأنّ عملية التسليم الأولية للأجهزة والأوامرقيد الاستخدام اكتملت، ويمكنه بدء جدولة العملية
handoverShutdown
public boolean handoverShutdown (int handoverPort)
تبدأ عملية shutdown()
وتسليمها إلى عملية tradefed أخرى على المضيف نفسه.
سيُعلم المخطِّط عملية tradefed عن بُعد التي تستمع إلى هذا المنفذ بالأجهزة التي تمّت إزالة بياناتها عندما تصبح متاحة.
المعلمات | |
---|---|
handoverPort |
int |
المرتجعات | |
---|---|
boolean |
true في حال نجاح بدء عملية النقل، false
في الحالات الأخرى
|
notifyFileChanged
public void notifyFileChanged (File cmdFile,extraArgs)
المعلمات | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
إزالة جميع الأوامر من المخطِّط
ضربة طويلة
public void run ()
مجموعة التنفيذ الرئيسية لسلسلة التعليمات هذه.
setClearcutClient
public void setClearcutClient (ClearcutClient client)
ضبط العميل لإعداد تقارير عن بيانات الحِزم
المعلمات | |
---|---|
client |
ClearcutClient |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
عرض True إذا احتجنا إلى إيقاف المخطِّط عند حدوث أخطاء في الأوامر
المرتجعات | |
---|---|
boolean |
إيقاف
public void shutdown ()
محاولة إيقاف "جدولة الأوامر" بشكل سليم
يُزيل الأوامر التي في انتظار الاختبار، ويطلب إغلاق كل عمليات الاستدعاء التي تتم بشكل سلس.
بعد استدعاء عملية الإيقاف، ستنتظر حلقة المخطِّط الرئيسية اكتمال جميع عمليات الاستدعاء الجارية قبل الخروج تمامًا.
shutdownHard
public void shutdownHard (boolean killAdb)
محاولة إيقاف جدولة الأوامر بالقوة
يشبه الأمر shutdown()
، ولكنّه سيؤدي أيضًا إلى إنهاء اتصال adb اختياريًا، في محاولة
لـ "تحفيز" عمليات الاستدعاء قيد التقدّم لإكمالها بشكل أسرع.
المعلمات | |
---|---|
killAdb |
boolean |
shutdownHard
public void shutdownHard ()
محاولة إيقاف جدولة الأوامر بالقوة يُعدّ هذا الإجراء مماثلاً لـ shutdownHard(true).
shutdownOnEmpty
public void shutdownOnEmpty ()
يشبه الأمر shutdown()
، ولكن بدلاً من ذلك سينتظر تنفيذ كل الطلبات
قبل الخروج.
يُرجى العلم أنّه إذا كانت أي أوامر في وضع حلقة، لن يخرج المخطِّط أبدًا.
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
إيقاف طلب قيد التنفيذ
المعلمات | |
---|---|
invocation |
ITestInvocation |
المرتجعات | |
---|---|
boolean |
صحيح إذا تم إيقاف الاستدعاء، وخطأ في الحالات الأخرى |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
يمكنك إيقاف طلب قيد التنفيذ من خلال تحديد رقم تعريفه.
المعلمات | |
---|---|
invocationId |
int : رقم تعريف التتبّع لطلب التنفيذ |
cause |
String : سبب إيقاف الاستدعاء |
المرتجعات | |
---|---|
boolean |
صحيح إذا تم إيقاف الاستدعاء، وخطأ في الحالات الأخرى |
الطرق المحمية
cleanUp
protected void cleanUp ()
يتم إغلاق السجلات وتنفيذ أي عملية تنظيف أخرى ضرورية قبل الخروج.
تمّ عرضها لكي تتمكّن اختبارات الوحدة من محاكاة البيانات.
createConfiguration
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.
تمّ عرضها لكي تتمكّن اختبارات الوحدة من محاكاة البيانات.
isShutdown
protected boolean isShutdown ()
المرتجعات | |
---|---|
boolean |
isShuttingDown
protected boolean isShuttingDown ()
المرتجعات | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
المعلمات | |
---|---|
manager |
IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
انتظِر حتى تكتمل جميع سلاسل استدعاء الوظائف.