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()
ينتظر هذا الإجراء حتى يبدأ المجدول في العمل، بما في ذلك انتظار اكتمال عملية النقل من الإصدار القديم من TensorFlow، إذا كان ذلك منطبقًا. |
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()
احصل على CommandFileWatcher المناسب لهذا المجدول |
int
|
getExecutingCommandCount()
تعرض هذه السمة عدد الأوامر في حالة التنفيذ. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
لعرض معلومات عن عملية استدعاء من خلال تحديد معرّف عملية الاستدعاء. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
عرض رمز الخطأ لآخر عملية استدعاء تم تنفيذها |
Throwable
|
getLastInvocationThrowable()
عرض قيمة |
int
|
getReadyCommandCount()
تعرض هذه الدالة عدد الأوامر في حالة "جاهز" في قائمة الانتظار. |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
تعرِض القيمة "صحيح" إذا كان الجهاز مستخدَمًا من خلال سلسلة استدعاء نشطة. |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
إزالة جميع الأوامر من أداة الجدولة |
void
|
run()
كتلة التنفيذ الرئيسية لسلسلة التعليمات هذه |
void
|
setClearcutClient(ClearcutClient client)
ضبط العميل لإعداد تقارير عن بيانات أداة الاختبار |
void
|
setMaxPollTime(long polling)
|
void
|
setPrintSchedulingWarning(boolean print)
|
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)
إيقاف عملية تنفيذ قيد التشغيل من خلال تحديد رقم تعريفها |
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 |
|
await
public void await ()
ينتظر هذا الإجراء حتى يبدأ المجدول في العمل، بما في ذلك انتظار اكتمال عملية النقل من الإصدار القديم من TensorFlow، إذا كان ذلك منطبقًا.
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 المناسب لهذا المجدول
| المرتجعات | |
|---|---|
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 |
|
getReadyCommandCount
public int getReadyCommandCount ()
تعرض هذه الدالة عدد الأوامر في حالة "جاهز" في قائمة الانتظار.
| المرتجعات | |
|---|---|
int |
|
getShutdownTimeout
public long getShutdownTimeout ()
| المرتجعات | |
|---|---|
long |
|
isDeviceInInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
تعرِض القيمة "صحيح" إذا كان الجهاز مستخدَمًا من خلال سلسلة استدعاء نشطة.
| المعلمات | |
|---|---|
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 |
setMaxPollTime
public void setMaxPollTime (long polling)
| المعلمات | |
|---|---|
polling |
long |
setPrintSchedulingWarning
public void setPrintSchedulingWarning (boolean print)
| المعلمات | |
|---|---|
print |
boolean |
shouldShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
عرض القيمة "صحيح" إذا كنا بحاجة إلى إيقاف أداة الجدولة عند حدوث أخطاء في الأوامر
| المرتجعات | |
|---|---|
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 |