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,
تُضيف جميع الأوامر من ملف معيّن إلى المخطِّط |
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, ITestDevice device, String[] args)
تنفيذ الأمر مباشرةً على الجهاز الذي سبق أن تم تخصيصه |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
تنفيذ الأمر مباشرةً على الأجهزة التي تم تخصيصها |
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)
عرض معلومات عن طلب من خلال تحديد معرّف الطلب |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
عرض رمز الخطأ لآخر عملية استدعاء تم تنفيذها |
Throwable
|
getLastInvocationThrowable()
عرض الرمز |
int
|
getReadyCommandCount()
تعرِض هذه السمة عدد الأوامر في حالة "جاهز" في "القائمة الانتظار". |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
تعرِض True إذا كان الجهاز مستخدَمًا من خلال سلسلة محادثات نشطة. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
إزالة جميع الأوامر من المخطِّط |
void
|
run()
مجموعة التنفيذ الرئيسية لسلسلة التعليمات هذه. |
void
|
setClearcutClient(ClearcutClient client)
ضبط العميل لإعداد تقارير عن بيانات الحِزم |
boolean
|
shouldShutdownOnCmdfileError()
عرض True إذا احتجنا إلى إيقاف المخطِّط عند حدوث أخطاء في الأوامر |
void
|
shutdown(boolean notifyStop)
محاولة إيقاف "جدولة الأوامر" بشكل سليم |
void
|
shutdownHard(boolean killAdb)
محاولة إيقاف جدولة الأوامر بالقوة |
void
|
shutdownHard()
محاولة إيقاف جدولة الأوامر بالقوة |
void
|
shutdownOnEmpty()
يشبه الأمر |
void
|
start()
يبدأ المخطِّط، بما في ذلك إعداد التسجيل وبدء |
boolean
|
stopInvocation(ITestInvocation invocation)
إيقاف طلب قيد التنفيذ |
boolean
|
stopInvocation(int invocationId, String cause)
يمكنك إيقاف طلب قيد التنفيذ من خلال تحديد رقم تعريفه. |
void
|
stopScheduling()
يوقف هذا الخيار جدولة الاختبارات الجديدة وقبولها، ولكنّه لا يوقف Tradefed. |
وظائف الإنشاء العامة
CommandScheduler
public CommandScheduler ()
لإنشاء CommandScheduler
.
ملاحظة: يجب استدعاء start قبل الاستخدام.
الطرق العامة
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 : مسار نظام الملفات لملف الأوامر |
extraArgs |
: ERROR(/List) من وسيطات String لإضافتها إلى كل أمر تم تحليله
من الملف يمكن أن تكون فارغة ولكن يجب ألا تكون فارغة. |
عمليات الرمي | |
---|---|
ConfigurationException |
في انتظار
public void await ()
ينتظر بدء تشغيل المخطِّط، بما في ذلك انتظار اكتمال عملية التسليم من عملية التحويل الناجحة القديمة إذا كان ذلك منطبقًا.
checkDelegation
public static TradefedDelegator checkDelegation (String[] args)
أنشئ مفوِّضًا استنادًا إلى سطر الأوامر لمعرفة ما إذا كنا بحاجة إلى تفويض عملية التشغيل.
المعلمات | |
---|---|
args |
String |
المرتجعات | |
---|---|
TradefedDelegator |
عمليات الرمي | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
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 long execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
تنفيذ الأمر مباشرةً على الجهاز الذي سبق أن تم تخصيصه
المعلمات | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener المطلوب إعلامه |
device |
ITestDevice : ITestDevice المطلوب استخدامه |
args |
String : وسيطات الأمر |
المرتجعات | |
---|---|
long |
معرّف الاستدعاء للأمر المُجدوَل |
عمليات الرمي | |
---|---|
ConfigurationException |
execCommand
public long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
تنفيذ الأمر مباشرةً على الأجهزة التي تم تخصيصها
المعلمات | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener المطلوب إعلامه |
reservedDevices |
: 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 |
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 |
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
تعرِض True إذا كان الجهاز مستخدَمًا من خلال سلسلة محادثات نشطة.
المعلمات | |
---|---|
device |
ITestDevice |
المرتجعات | |
---|---|
boolean |
isShuttingDown
public boolean isShuttingDown ()
المرتجعات | |
---|---|
boolean |
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 (boolean notifyStop)
محاولة إيقاف "جدولة الأوامر" بشكل سليم
المعلمات | |
---|---|
notifyStop |
boolean : إذا كان صحيحًا، يتم إرسال إشعارات إلى عمليات استدعاء إيقاف TF. |
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 |
صحيح إذا تم إيقاف الاستدعاء، وخطأ في الحالات الأخرى |
stopScheduling
public void stopScheduling ()
يوقف هذا الخيار جدولة الاختبارات الجديدة وقبولها، ولكنّه لا يوقف Tradefed. يهدف ذلك إلى تفعيل عملية إيقاف على خطوتَين، حيث نوقف أولاً جميع الاختبارات الجارية، ثم ننهي عملية Tradefed.
الطرق المحمية
cleanUp
protected void cleanUp ()
يتم إغلاق السجلات وتنفيذ أي عملية تنظيف أخرى ضرورية قبل الخروج.
تمّ عرضها لكي تتمكّن اختبارات الوحدة من محاكاة البيانات.
createConfiguration
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 |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
تُستخدَم هذه الدالة لجلب IKeyStoreClient
باستخدام IKeyStoreFactory
المحدَّد في IGlobalConfiguration
أو القيمة null إذا لم يتم تحديد أيّ منها.
المرتجعات | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
getTestInvocationManagementServer
protected TestInvocationManagementServer getTestInvocationManagementServer ()
المرتجعات | |
---|---|
TestInvocationManagementServer |
initLogging
protected void initLogging ()
تبدأ عملية إعداد سجل ddmlib.
تمّ عرضها لكي تتمكّن اختبارات الوحدة من محاكاة البيانات.
isShutdown
protected boolean isShutdown ()
المرتجعات | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
المعلمات | |
---|---|
manager |
IDeviceManager |