CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


सभी उपलब्ध डिवाइसों पर ट्रेडफ़ेडरेशन कमांड चलाने के लिए शेड्यूलर.

लागू किए जाने की कुल संख्या के आधार पर, कमांड को प्राथमिकता देने की कोशिश की जाएगी समय. उदाहरण के लिए, कभी-कभी या तेज़ी से चलने वाले निर्देशों को ज़्यादा समय तक चलने वाले निर्देशों के मुकाबले प्राथमिकता दी जाएगी.

शटडाउन होने तक बैकग्राउंड में हमेशा काम करता है.

खास जानकारी

सार्वजनिक कंस्ट्रक्टर

CommandScheduler()

यह CommandScheduler बनाता है.

सार्वजनिक तरीके

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

शेड्यूलर में कोई निर्देश जोड़ता है.

void addCommandFile(String cmdFilePath, extraArgs)

दी गई फ़ाइल के सभी निर्देशों को शेड्यूलर में जोड़ता है

void await()

शेड्यूलर के चलने की इंतज़ार करता है, जिसमें पुराने TF के हैंडओवर के पूरा होने की इंतज़ार करना भी शामिल है अगर लागू हो.

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)

कमांड के लिए, बड़ी की गई एक्सएमएल फ़ाइल को सभी सभी मौजूदा निर्देशों के लिए, Option वैल्यू दी गई हैं.

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)

हार्नेस डेटा की रिपोर्ट करने के लिए क्लाइंट सेट करें

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

नए टेस्ट शेड्यूल करने और स्वीकार करने से रोकता है, लेकिन ट्रेडफ़ेड को नहीं रोकता.

सुरक्षित तरीके

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

IGlobalConfiguration में बताए गए IKeyStoreFactory या शून्य का इस्तेमाल करके IKeyStoreClient फ़ेच करता है, अगर कोई भी तय नहीं किया गया है.

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 दिखाएं, अन्यथा 0 दिखाएं -1.

थ्रो
ConfigurationException

addCommandफ़ाइल

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

दी गई फ़ाइल के सभी निर्देशों को शेड्यूलर में जोड़ता है

पैरामीटर
cmdFilePath String: comand फ़ाइल का फ़ाइल सिस्टम पाथ

extraArgs : पार्स किए गए हर निर्देश में जोड़ने के लिए String का ERROR(/List) आर्ग्युमेंट फ़ाइल से. इसे खाली छोड़ा जा सकता है, लेकिन यह शून्य नहीं होना चाहिए.

थ्रो
ConfigurationException

इंतज़ार करो

public void await ()

शेड्यूलर के चलने की इंतज़ार करता है, जिसमें पुराने TF से हैंडओवर पूरा होने की इंतज़ार करना भी शामिल है अगर लागू हो.

सही का पता लगाना

public static TradefedDelegator checkDelegation (String[] args)

कमांड लाइन के आधार पर एक डेलिगेटर बनाएं, ताकि यह देखा जा सके कि क्या हमें रन मैनेज करने की ज़रूरत है.

पैरामीटर
args String

रिटर्न
TradefedDelegator

थ्रो
com.android.tradefed.config.Configurationअपवाद
ConfigurationException

रिलीज़ मैप बनाएं

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

डिवाइसों की स्थिति का एक मैप बनाएं, ताकि उन्हें सही तरीके से रिलीज़ किया जा सके.

पैरामीटर
context IInvocationContext

e Throwable

रिटर्न

क्रिएट सैंडबॉक्स

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)

कमांड के लिए, बड़ी की गई एक्सएमएल फ़ाइल को सभी सभी मौजूदा निर्देशों के लिए, Option वैल्यू दी गई हैं.

पैरामीटर
printWriter PrintWriter: स्टेटस दिखाने के लिए ERROR(/PrintWriter).

regex String: वह रेगुलर एक्सप्रेशन जिससे निर्देशों का मिलान होना चाहिए xml फ़ाइल को डंप किया जाएगा. अगर इस फ़ील्ड में कोई वैल्यू नहीं है, तो सभी निर्देश छोड़ दिए जाएंगे.

एक्ज़ीक्यूट करें

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

पहले से असाइन किए गए डिवाइसों पर सीधे तौर पर निर्देश लागू करें.

पैरामीटर
listener ICommandScheduler.IScheduledInvocationListener: सूचित किया जाने वाला ICommandScheduler.IScheduledInvocationListener

reservedDevices : इस्तेमाल करने के लिए ERROR(/List)

args String: कमांड आर्ग्युमेंट

रिटर्न
long शेड्यूल किए गए निर्देश का शुरू करने का आईडी.

थ्रो
ConfigurationException

एक्ज़ीक्यूट करें

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

डिवाइस को सीधे तौर पर असाइन करता है और निर्देश को कमांड क्यू में जोड़े बिना लागू करता है पहले से मौजूद IInvocationContext का इस्तेमाल करके.

पैरामीटर
context IInvocationContext: पहले से मौजूद IInvocationContext.

listener ICommandScheduler.IScheduledInvocationListener: सूचित किया जाने वाला ICommandScheduler.IScheduledInvocationListener

args String: कमांड आर्ग्युमेंट

रिटर्न
long

थ्रो
ConfigurationException
NoDeviceException

एक्ज़ीक्यूट करें

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

डिवाइस को सीधे असाइन करता है और कमांड को कमांड क्यू में जोड़े बिना ही एक्ज़ीक्यूट करता है.

पैरामीटर
listener ICommandScheduler.IScheduledInvocationListener: सूचित किया जाने वाला ICommandScheduler.IScheduledInvocationListener

args String: कमांड आर्ग्युमेंट

रिटर्न
long शेड्यूल किए गए निर्देश का शुरू करने का आईडी.

थ्रो
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

इस शेड्यूलर के लिए सही CommandFileWatcher पाएं

रिटर्न
CommandFileWatcher

getexeutingCommandCount

public int getExecutingCommandCount ()

लागू किए जाने के स्टेटस में कमांड की संख्या दिखाता है.

रिटर्न
int

getHostState

public CommandScheduler.HostState getHostState ()

रिटर्न
CommandScheduler.HostState

CANNOT TRANSLATE

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

गेट शटडाउन टाइम आउट

public long getShutdownTimeout ()

रिटर्न
long

isDeviceInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

अगर डिवाइस का इस्तेमाल न्योता देने वाले किसी चालू थ्रेड से किया जाता है, तो 'सही' दिखाता है.

पैरामीटर
device ITestDevice

रिटर्न
boolean

बंद है

public boolean isShuttingDown ()

रिटर्न
boolean

सूचना देने वाली फ़ाइल में बदलाव किया गया

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

पैरामीटर
cmdFile File

extraArgs

सभी कमांड हटाएँ

public void removeAllCommands ()

शेड्यूलर से सभी निर्देश हटाएं

रन

public void run ()

इस थ्रेड को चलाने का मुख्य ब्लॉक.

सेटक्लियरकटक्लाइंट

public void setClearcutClient (ClearcutClient client)

हार्नेस डेटा की रिपोर्ट करने के लिए क्लाइंट सेट करें

पैरामीटर
client ClearcutClient

चाहिए शटडाउनऑन CmdfileError

public boolean shouldShutdownOnCmdfileError ()

अगर हमें कमांड से जुड़ी गड़बड़ियों की वजह से शेड्यूलर को बंद करना पड़े, तो 'सही' दिखाता है

रिटर्न
boolean

शटडाउन

public void shutdown (boolean notifyStop)

आदेश शेड्यूलर को ग्रेसफ़ुली शटडाउन करने का प्रयास करें.

पैरामीटर
notifyStop boolean: अगर सही है, तो TF के बंद होने की सूचना देता है.

शटडाउन हार्ड

public void shutdownHard (boolean killAdb)

कमांड शेड्यूलर को ज़बरदस्ती बंद करने की कोशिश करना.

shutdown() के समान, लेकिन यह वैकल्पिक रूप से adb कनेक्शन को भी बंद कर देगा 'प्रेरणा' करने की कोशिश शुरू करने की प्रक्रिया को तेज़ी से पूरा करना.

पैरामीटर
killAdb boolean

शटडाउन हार्ड

public void shutdownHard ()

कमांड शेड्यूलर को ज़बरदस्ती बंद करने की कोशिश करना. शटडाउन हार्ड(सही) की तरह.

शटडाउनचालू

public void shutdownOnEmpty ()

यह shutdown() के जैसा है, लेकिन इसके बजाय सभी निर्देशों के लागू होने का इंतज़ार करेगा पर क्लिक करें.

ध्यान दें कि अगर कोई निर्देश लूप मोड में है, तो शेड्यूलर कभी भी बंद नहीं होगा.

शुरू करें

public void start ()

शेड्यूलर को शुरू करता है. इसमें लॉगिंग, DeviceManager शुरू वगैरह को सेट अप करना शामिल है

शुरू करना बंद करो

public boolean stopInvocation (ITestInvocation invocation)

चल रहे न्योते को बंद करें.

पैरामीटर
invocation ITestInvocation

रिटर्न
boolean सही है अगर शुरू करना रोका गया था, तो गलत है, नहीं तो गलत

शुरू करना बंद करो

public boolean stopInvocation (int invocationId, 
                String cause)

किसी चल रहे न्योते का आईडी बताकर उसे बंद करें.

पैरामीटर
invocationId int: शुरू करने के अनुरोध का ट्रैकिंग आईडी.

cause String: शुरू करने की प्रक्रिया को रोकने की वजह.

रिटर्न
boolean सही है अगर शुरू करना रोका गया था, तो गलत है, नहीं तो गलत

शेड्यूल करना रोकें

public void stopScheduling ()

नए टेस्ट शेड्यूल करने और स्वीकार करने से रोकता है, लेकिन ट्रेडफ़ेड को नहीं रोकता. इसका मकसद, यह सुविधा चालू करना है दो चरणों में बंद होने के बाद, पहले हम सभी मौजूदा टेस्ट पूरे कर लेते हैं. इसके बाद, ट्रेडफ़ेड को बंद कर देते हैं प्रोसेस.

सुरक्षित तरीके

क्लीनअप करें

protected void cleanUp ()

लॉग बंद करता है और हमारे बाहर निकलने से पहले कोई भी अन्य ज़रूरी क्लीनअप करता है.

इसलिए दिखाया गया है, ताकि यूनिट टेस्ट की नकल की जा सके.

बनाएंकॉन्फ़िगरेशन

protected IConfiguration createConfiguration (String[] args)

पैरामीटर
args String

रिटर्न
IConfiguration

थ्रो
ConfigurationException

बनाने के लिए प्रॉम्प्ट

protected IInvocationContext createInvocationContext ()

रिटर्न
IInvocationContext

dryRunCommandReporting

protected void dryRunCommandReporting (ICommandScheduler.IScheduledInvocationListener handler, 
                IConfiguration config)

यह तय करता है कि दिया गया निर्देश, ड्राई रन है या नहीं. अगर निर्देश ड्राई रन किया गया है, तो उसकी पुष्टि करें. अगर आपने कॉन्फ़िगरेशन से जुड़ी कोई समस्या हो, तो कॉन्फ़िगरेशन अपवाद दिखेगा.

पैरामीटर
handler ICommandScheduler.IScheduledInvocationListener: ड्राय रन की पुष्टि करने के लिए, इवेंट की रिपोर्ट करने के लिए ERROR(/InvocationEventHandler).

config IConfiguration

रिटर्न
void सही है, अगर कमांड ड्राय रन है, नहीं तो गलत.

थ्रो
com.android.tradefed.config.Configurationअपवाद
ConfigurationException

एक्ज़ीक्यूट करें

protected long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

पैरामीटर
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

रिटर्न
long

थ्रो
ConfigurationException

गेट कॉन्फ़िगरेशनफ़ैक्ट्री

protected IConfigurationFactory getConfigFactory ()

IConfigurationFactory का रेफ़रंस पाने का फ़ैक्ट्री तरीका

रिटर्न
IConfigurationFactory IConfigurationFactory का इस्तेमाल करना है

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

रिटर्न
DeviceManagementGrpcServer

'डिवाइस मैनेजर' पाएं

protected IDeviceManager getDeviceManager ()

IDeviceManager का रेफ़रंस पाने का फ़ैक्ट्री तरीका

रिटर्न
IDeviceManager IDeviceManager का इस्तेमाल करना है

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

रिटर्न
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

रिटर्न
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

IGlobalConfiguration में बताए गए IKeyStoreFactory या शून्य का इस्तेमाल करके IKeyStoreClient फ़ेच करता है, अगर कोई भी तय नहीं किया गया है.

रिटर्न
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

रिटर्न
TestInvocationManagementServer

इनिटलॉगिंग

protected void initLogging ()

ddmlib लॉग को शुरू करता है.

इसलिए दिखाया गया है, ताकि यूनिट टेस्ट की नकल की जा सके.

बंद है

protected boolean isShutdown ()

रिटर्न
boolean

प्रोसेस के लिए तैयार निर्देश

protected void processReadyCommands (IDeviceManager manager)

पैरामीटर
manager IDeviceManager