CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


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

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

يعمل إلى الأبد في الخلفية حتى الإغلاق.

ملخص

فئات متداخلة

enum CommandScheduler.HostState

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

المنشئون العامة

CommandScheduler ()

ينشئ CommandScheduler .

الأساليب العامة

Pair <Boolean, Integer> addCommand (String[] args)

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

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

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

void await ()

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

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 المحددة لكل الأوامر الحالية.

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

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

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

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

void execCommand ( ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, 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 notifyFileChanged (File cmdFile, extraArgs) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

قم بإزالة كافة الأوامر من المجدول

void run ()

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

void setClearcutClient (ClearcutClient client)

اضبط العميل على الإبلاغ عن بيانات التسخير

boolean shouldShutdownOnCmdfileError ()

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

void shutdown ()

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

void shutdownHard (boolean killAdb)

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

void shutdownHard ()

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

void shutdownOnEmpty ()

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

void start ()

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

boolean stopInvocation (int invocationId, String cause)

أوقف الاحتجاج الجاري بتحديد معرفه.

boolean stopInvocation ( ITestInvocation invocation)

وقف الدعاء الجاري.

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

void cleanUp ()

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

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

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

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

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

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

IKeyStoreClient باستخدام IKeyStoreFactory المعلن في IGlobalConfiguration أو لاغٍ إذا لم يتم تعريف أي شيء.

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

تهيئة سجل ddmlib.

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

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

المنشئون العامة

CommandScheduler

public CommandScheduler ()

ينشئ CommandScheduler .

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

الأساليب العامة

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 : مسار نظام الملفات لملف comand

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

رميات
ConfigurationException

انتظر

public void await ()

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

check التفويض

public static TradefedDelegator checkDelegation (String[] args)

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

المعلمات
args String

عائدات
TradefedDelegator

رميات
ConfigurationException

إنشاءReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

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

المعلمات
context IInvocationContext

e Throwable

عائدات

إنشاء Sandbox

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

execCommand

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

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

المعلمات
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ليتم إعلامك

device ITestDevice : جهاز ITestDevice المطلوب استخدامه

args String : وسيطات الأمر

رميات
ConfigurationException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

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

عائدات
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

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

عائدات
int

getHostState

public CommandScheduler.HostState getHostState ()

عائدات
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

قم بإرجاع المعلومات على استدعاء bu يحدد معرّف الاستدعاء.

المعلمات
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

notifyFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

المعلمات
cmdFile File

extraArgs

إزالة AllCommands

public void removeAllCommands ()

قم بإزالة كافة الأوامر من المجدول

يجري

public void run ()

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

setClearcutClient

public void setClearcutClient (ClearcutClient client)

اضبط العميل على الإبلاغ عن بيانات التسخير

المعلمات
client ClearcutClient

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

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

عائدات
boolean

اغلق

public void shutdown ()

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

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

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

الاغلاق

public void shutdownHard (boolean killAdb)

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

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

المعلمات
killAdb boolean

الاغلاق

public void shutdownHard ()

محاولة إيقاف تشغيل برنامج جدولة الأوامر بالقوة. مثل الاغلاق (صحيح).

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

public void shutdownOnEmpty ()

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

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

بداية

public void start ()

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

وقف الدعوة

public boolean stopInvocation (int invocationId, 
                String cause)

أوقف الاحتجاج الجاري بتحديد معرفه.

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

cause String : سبب وقف الدعاء.

عائدات
boolean صحيح إذا تم إيقاف الاحتجاج ، وخلاف ذلك خطأ

وقف الدعوة

public boolean stopInvocation (ITestInvocation invocation)

وقف الدعاء الجاري.

المعلمات
invocation ITestInvocation

عائدات
boolean صحيح إذا تم إيقاف الاحتجاج ، وخلاف ذلك خطأ

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

تنظيف

protected void cleanUp ()

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

مكشوفة حتى يمكن لاختبارات الوحدة السخرية.

إنشاء التكوين

protected IConfiguration createConfiguration (String[] args)

المعلمات
args String

عائدات
IConfiguration

رميات
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

عائدات
IInvocationContext

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 أو لاغٍ إذا لم يتم تعريف أي شيء.

عائدات
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

عائدات
TestInvocationManagementServer

initLogging

protected void initLogging ()

تهيئة سجل ddmlib.

مكشوفة حتى يمكن لاختبارات الوحدة السخرية.

هو الاغلاق

protected boolean isShutdown ()

عائدات
boolean

هو إيقاف

protected boolean isShuttingDown ()

عائدات
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

المعلمات
manager IDeviceManager

waitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

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