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)

عرض المعلومات على رمز bu للاستدعاء مع تحديد معرّف الاستدعاء

CommandRunner.ExitCode getLastInvocationExitCode()

يعرض رمز الخطأ لآخر استدعاء تم تشغيله.

Throwable getLastInvocationThrowable()

يمكنك عرض Throwable من آخر استدعاء تم تشغيله.

int getReadyCommandCount()

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

long getShutdownTimeout()
void handoverInitiationComplete()

تُعلم أداة جدولة الأوامر بأن التبادل الأولي للأجهزة والأوامر المستخدمة مكتملة، ويمكنه بدء عملية الجدولة.

boolean handoverShutdown(int handoverPort)

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

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 أو "خالٍ" إذا لم يتم تحديد أي شيء.

void initLogging()

يقوم بتهيئة سجل ddmlib.

boolean isShutdown()
boolean isShuttingDown()
void processReadyCommands(IDeviceManager manager)
void waitForAllInvocationThreads()

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

شركة إنشاءات عامة

CommandScheduler

public CommandScheduler ()

ينشئ CommandScheduler.

ملاحظة: يجب طلب البدء قبل الاستخدام.

الطرق العامة

إضافة Command

public boolean addCommand (String[] args)

إضافة أمر إلى أداة الجدولة.

الأمر في الأساس هو مثيل لعملية التهيئة التي سيتم تشغيلها والوسيطات المرتبطة بها.

إذا كانت الإجابة "--help" تم تحديد الوسيطة في نص المساعدة سيتم إخراج التهيئة إلى stdout. وبخلاف ذلك، ستتم إضافة الإعدادات إلى قائمة الانتظار إلى الجري.

المعلمات
args String: وسيطات الإعداد

المرتجعات
boolean true في حال إضافة الأمر بنجاح

الرميات
ConfigurationException

إضافة ملف الأوامر

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

إضافة جميع الأوامر من ملف معين إلى أداة الجدولة

المعلمات
cmdFilePath String: مسار نظام الملفات الخاص بملف comand

extraArgs : ERROR(/List) من String وسيطة لإلحاقها بكل أمر تم تحليله من ملف. يمكن أن تكون فارغة ولكن يجب ألا تكون فارغة.

الرميات
ConfigurationException

بانتظارك

public void await ()

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

التحقق من التفويض

public static TradefedDelegator checkDelegation (String[] args)

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

المعلمات
args String

المرتجعات
TradefedDelegator

الرميات
ConfigurationException

إكمال عملية تمرير

public void completeHandover ()

تخبر أداة جدولة الأوامر أن تسلسل التسليم الذي تم بدؤه مكتمل بالكامل، إعادة تهيئة مديره البعيد على المنفذ الافتراضي.

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

إنشاء خريطة لحالة الأجهزة حتى يمكن إصدارها بشكل مناسب

المعلمات
context IInvocationContext

e Throwable

المرتجعات

createSandbox

public ISandbox createSandbox ()

أنشئ ISandbox الذي سيستخدمه الاستدعاء لتشغيله.

المرتجعات
ISandbox

displayCommandقائمة الانتظار

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

الحصول على CommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

الحصول على CommandFileWatcher المناسب لأداة الجدولة هذه

المرتجعات
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

تعرض عدد الأوامر في حالة التنفيذ.

المرتجعات
int

getHostState

public CommandScheduler.HostState getHostState ()

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

الحصول على معلومات الاستدعاء

public String getInvocationInfo (int invocationId)

عرض المعلومات على رمز bu للاستدعاء مع تحديد معرّف الاستدعاء

المعلمات
invocationId int: رقم تعريف تتبّع الاستدعاء

المرتجعات
String تمثّل هذه السمة String تحتوي على معلومات عن الاستدعاء.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

يعرض رمز الخطأ لآخر استدعاء تم تشغيله. يعرض 0 (بدون خطأ)، إذا لم يتم استدعاء بعد.

المرتجعات
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

يمكنك عرض Throwable من آخر استدعاء تم تشغيله. إرجاع "فارغ" (فارغ)، في حال عدم توفر أي قابل للرمي.

المرتجعات
Throwable

getREADCommandCount

public int getReadyCommandCount ()

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

المرتجعات
int

مهلة الحصول على إيقاف التشغيل

public long getShutdownTimeout ()

المرتجعات
long

إكمال عملية تسليم

public void handoverInitiationComplete ()

تُعلم أداة جدولة الأوامر بأن التبادل الأولي للأجهزة والأوامر المستخدمة مكتملة، ويمكنه بدء عملية الجدولة.

إيقاف التشغيل باليد

public boolean handoverShutdown (int handoverPort)

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

ستُعلِم أداة الجدولة العملية التي يتم تبادلها بالعمل عن بُعد والاستماع على هذا المنفذ من الأجهزة الخالية. عند توفرها.

المعلمات
handoverPort int

المرتجعات
boolean true إذا تم بدء التسليم بنجاح، false أو

تغيير ملف الإخطار

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

المعلمات
cmdFile File

extraArgs

أوامر إزالة كل الأوامر

public void removeAllCommands ()

إزالة جميع الأوامر من أداة الجدولة

ضربة طويلة

public void run ()

تمثّل هذه السمة كتلة التنفيذ الأساسية لسلسلة المحادثات هذه.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

ضبط العميل للإبلاغ عن بيانات مجموعة أدوات السلامة

المعلمات
client ClearcutClient

يجب إيقاف تشغيلCmdfileError

public boolean shouldShutdownOnCmdfileError ()

إرجاع true إذا احتجنا إلى إيقاف تشغيل أداة الجدولة في أخطاء الأوامر

المرتجعات
boolean

إيقاف التشغيل

public void shutdown ()

حاول إيقاف تشغيل أداة جدولة الأوامر بسلاسة.

يمحو الأوامر التي تنتظر اختبارها ويطلب أن تكون جميع الاستدعاءات قيد التقدم ويغلقه بشكل رشيق.

بعد استدعاء إيقاف التشغيل، ستنتظر الحلقة الرئيسية لأداة الجدولة (جدولة) جميع الاستدعاءات التي تكون قيد التقدم. إتمامها قبل الخروج تمامًا.

إيقاف صعب

public void shutdownHard (boolean killAdb)

حاول فرض إيقاف تشغيل أداة جدولة الأوامر.

على غرار shutdown()، ولكنها أيضًا سوف تؤدي اختياريًا إلى إنهاء اتصال adb، في محاولة "إلهام" الاستدعاءات قيد التقدم حتى تكتمل بشكل أسرع.

المعلمات
killAdb boolean

إيقاف صعب

public void shutdownHard ()

حاول فرض إيقاف تشغيل أداة جدولة الأوامر. مثل offHard(true).

إيقاف التشغيل على الجهاز الفارغة

public void shutdownOnEmpty ()

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

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

بدء

public void start ()

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

إيقاف الاستدعاء

public boolean stopInvocation (ITestInvocation invocation)

إيقاف استدعاء قيد التشغيل.

المعلمات
invocation ITestInvocation

المرتجعات
boolean true إذا تم إيقاف الاستدعاء، وخطأ في الحالات الأخرى

إيقاف الاستدعاء

public boolean stopInvocation (int invocationId, 
                String cause)

يمكنك إيقاف استدعاء حالي من خلال تحديد معرّفه.

المعلمات
invocationId int: رقم تعريف تتبّع الاستدعاء

cause String: سبب إيقاف الاستدعاء

المرتجعات
boolean true إذا تم إيقاف الاستدعاء، وخطأ في الحالات الأخرى

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

تنظيف

protected void cleanUp ()

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

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

إنشاء تهيئة

protected IConfiguration createConfiguration (String[] args)

المعلمات
args String

المرتجعات
IConfiguration

الرميات
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

المرتجعات
IInvocationContext

الحصول على إعدادات المصنع

protected IConfigurationFactory getConfigFactory ()

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

المرتجعات
IConfigurationFactory IConfigurationFactory لاستخدام

الحصول على مدير الجهاز

protected IDeviceManager getDeviceManager ()

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

المرتجعات
IDeviceManager IDeviceManager لاستخدام

الحصول علىخادم الميزات

protected TradefedFeatureServer getFeatureServer ()

المرتجعات
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

المرتجعات
IHostOptions

عميل getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

لجلب IKeyStoreClient باستخدام IKeyStoreFactory تعريفه في IGlobalConfiguration أو "خالٍ" إذا لم يتم تحديد أي شيء.

المرتجعات
IKeyStoreClient عميل IKeyStoreClient

بدء التسجيل

protected void initLogging ()

يقوم بتهيئة سجل ddmlib.

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

إيقاف التشغيل

protected boolean isShutdown ()

المرتجعات
boolean

إيقاف التشغيل

protected boolean isShuttingDown ()

المرتجعات
boolean

عمليات جاهزة للعمل

protected void processReadyCommands (IDeviceManager manager)

المعلمات
manager IDeviceManager

انتظار لجميع الاستدعاءات

protected void waitForAllInvocationThreads ()

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