CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

java.lang.Object
   ↳ com.android.tradefed.command.CommandScheduler


أداة جدولة لتشغيل أوامر TradeFederation على جميع الأجهزة المتاحة

سيحاول منح الأولوية للأوامر التي سيتم تنفيذها استنادًا إلى إجمالي عدد عمليات التنفيذ لها. على سبيل المثال، سيتم منح الأولوية للأوامر التي يتم تنفيذها بشكل غير متكرر أو سريع على الأوامر التي تستغرق وقتًا طويلاً في التنفيذ.

يتم تشغيله إلى الأبد في الخلفية إلى أن يتم إيقافه.

ملخّص

الفئات المُدمجة

enum CommandScheduler.HostState

أنواع مختلفة من حالات المضيف  

وظائف الإنشاء العامة

CommandScheduler()

لإنشاء CommandScheduler.

الطرق العامة

boolean addCommand(String[] args)

تُضيف أمرًا إلى أداة الجدولة.

void addCommandFile(String cmdFilePath, extraArgs)

تُضيف جميع الأوامر من ملف معيّن إلى المخطِّط

void await()

ينتظر بدء تشغيل المخطِّط، بما في ذلك انتظار اكتمال عملية التسليم من عملية التحويل الناجحة القديمة إذا كان ذلك منطبقًا.

static TradefedDelegator checkDelegation(String[] args)

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

void completeHandover()

إبلاغ جدولة الأوامر بأنّ تسلسل عملية التسليم التي تمّ بدؤها قد اكتمل بالكامل، ويجب أن تتم إعادة بدء عملية إعداد مديره عن بُعد على المنفذ التلقائي

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 المحدّدة لجميع الطلبات الحالية

void execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)

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

void execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)

تخصيص جهاز مباشرةً وتنفيذ أمر بدون إضافته إلى قائمة انتظار الأوامر باستخدام IInvocationContext حالي

void 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()
void handoverInitiationComplete()

إبلاغ جدولة الأوامر بأنّ عملية التسليم الأولية للأجهزة والأوامرقيد الاستخدام اكتملت، ويمكنه بدء جدولة العملية

boolean handoverShutdown(int handoverPort)

تبدأ عملية shutdown() وتسليمها إلى عملية tradefed أخرى على المضيف نفسه.

void notifyFileChanged(File cmdFile, extraArgs)
void removeAllCommands()

إزالة جميع الأوامر من المخطِّط

void run()

مجموعة التنفيذ الرئيسية لسلسلة التعليمات هذه.

void setClearcutClient(ClearcutClient client)

ضبط العميل لإعداد تقارير عن بيانات الحِزم

boolean shouldShutdownOnCmdfileError()

عرض True إذا احتجنا إلى إيقاف المخطِّط عند حدوث أخطاء في الأوامر

void shutdown()

محاولة إيقاف "جدولة الأوامر" بشكل سليم

void shutdownHard(boolean killAdb)

محاولة إيقاف جدولة الأوامر بالقوة

void shutdownHard()

محاولة إيقاف جدولة الأوامر بالقوة

void shutdownOnEmpty()

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

void start()

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

boolean stopInvocation(ITestInvocation invocation)

إيقاف طلب قيد التنفيذ

boolean stopInvocation(int invocationId, String cause)

يمكنك إيقاف طلب قيد التنفيذ من خلال تحديد رقم تعريفه.

الطرق المحمية

void cleanUp()

يتم إغلاق السجلات وتنفيذ أي عملية تنظيف أخرى ضرورية قبل الخروج.

IConfiguration createConfiguration(String[] args)
IInvocationContext createInvocationContext()
IConfigurationFactory getConfigFactory()

طريقة المصنع للحصول على إشارة إلى IConfigurationFactory

IDeviceManager getDeviceManager()

طريقة المصنع للحصول على إشارة إلى IDeviceManager

TradefedFeatureServer getFeatureServer()
IHostOptions getHostOptions()
IKeyStoreClient getKeyStoreClient()

تُستخدَم هذه الدالة لجلب IKeyStoreClient باستخدام IKeyStoreFactory المحدَّد في IGlobalConfiguration أو القيمة null إذا لم يتم تحديد أيّ قيمة.

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

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 متاحًا

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

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

بدء

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 صحيح إذا تم إيقاف الاستدعاء، وخطأ في الحالات الأخرى

الطرق المحمية

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

انتظِر حتى تكتمل جميع سلاسل استدعاء الوظائف.