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)

يضيف هذا الخيار جميع الأوامر من الملف المحدّد إلى أداة الجدولة

void await()

ينتظر هذا الإجراء حتى يبدأ المجدول في العمل، بما في ذلك انتظار اكتمال عملية النقل من الإصدار القديم من TensorFlow، إذا كان ذلك منطبقًا.

static TradefedDelegator checkDelegation(String[] args)

أنشئ مفوِّضًا استنادًا إلى سطر الأوامر لمعرفة ما إذا كان علينا تفويض عملية التنفيذ.

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, ITestDevice device, String[] args)

تنفيذ الأمر مباشرةً على الجهاز الذي تم تخصيصه مسبقًا

long 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)

لعرض معلومات عن عملية استدعاء من خلال تحديد معرّف عملية الاستدعاء.

CommandRunner.ExitCode getLastInvocationExitCode()

عرض رمز الخطأ لآخر عملية استدعاء تم تنفيذها

Throwable getLastInvocationThrowable()

عرض قيمة Throwable من آخر عملية استدعاء تم تنفيذها

int getReadyCommandCount()

تعرض هذه الدالة عدد الأوامر في حالة "جاهز" في قائمة الانتظار.

long getShutdownTimeout()
boolean isDeviceInInvocationThread(ITestDevice device)

تعرِض القيمة "صحيح" إذا كان الجهاز مستخدَمًا من خلال سلسلة استدعاء نشطة.

boolean isShuttingDown()
void notifyFileChanged(File cmdFile, extraArgs)
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()

هذه السمة مشابهة للسمة shutdown()، ولكنّها ستنتظر تنفيذ جميع الأوامر قبل الخروج.

void start()

يبدأ المجدول، بما في ذلك إعداد التسجيل وبدء 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)
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.

ملاحظة: يجب استدعاء الدالة 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 static  createReleaseMap (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

getHostState

public CommandScheduler.HostState getHostState ()

المرتجعات
CommandScheduler.HostState

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()، ولكنّها ستنتظر تنفيذ جميع الأوامر قبل الخروج.

يُرجى العِلم أنّه إذا كانت أي أوامر في وضع التكرار، لن يخرج المجدول أبدًا.

بدء

public void start ()

يبدأ المجدول، بما في ذلك إعداد التسجيل وبدء DeviceManager وما إلى ذلك

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

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

يتم عرضه حتى تتمكّن اختبارات الوحدات من محاكاته.

isShutdown

protected boolean isShutdown ()

المرتجعات
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

المعلمات
manager IDeviceManager