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

long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) 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) notifyFileChanged (File cmdFile, extraArgs)
void removeAllCommands ()

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

void run ()

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

void setClearcutClient (ClearcutClient client)

قم بتعيين العميل للإبلاغ عن بيانات الحزام

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

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

تهيئة سجل ddmlib.

boolean isShutdown ()
void processReadyCommands ( IDeviceManager manager)

المقاولين العامة

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

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

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) الذي سيتم الإخراج إليه.

تفريغCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

قم بتفريغ ملف xml الموسع للأمر مع كافة قيم Option المحددة لجميع الأوامر الحالية.

حدود
printWriter PrintWriter : ERROR(/PrintWriter) لإخراج الحالة إليه.

regex String : التعبير العادي الذي يجب أن تتطابق معه الأوامر حتى يتم تفريغ ملف XML. إذا كانت فارغة، فسيتم تفريغ كافة الأوامر.

execCommand

public long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

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

حدود
listener ICommandScheduler.IScheduledInvocationListener : سيتم إعلام ICommandScheduler.IScheduledInvocationListener

reservedDevices : ERROR(/List ) 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

يجب أن تكون ShutdownOnCmdfileError

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 (صحيح).

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.

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

تنظيف

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

عائدات
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

عائدات
TestInvocationManagementServer

initLogging

protected void initLogging ()

تهيئة سجل ddmlib.

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

isShutdown

protected boolean isShutdown ()

عائدات
boolean

أوامر معالجة جاهزة

protected void processReadyCommands (IDeviceManager manager)

حدود
manager IDeviceManager