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)

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

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)

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

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

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

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)

invocaton आईडी बताकर, invocaton की जानकारी दिखाएं.

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

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

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)
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 बनाता है.

ध्यान दें: इस्तेमाल करने से पहले, start को कॉल करना ज़रूरी है.

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

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: कमांड फ़ाइल का फ़ाइल सिस्टम पाथ

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

थ्रो
ConfigurationException

await

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) जिसमें आउटपुट डालना है.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

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

पैरामीटर
printWriter PrintWriter: वह ERROR(/PrintWriter) जिसमें स्टेटस दिखाना है.

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

execCommand

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

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

पैरामीटर
listener ICommandScheduler.IScheduledInvocationListener: जिस ICommandScheduler.IScheduledInvocationListener को सूचना देनी है

device ITestDevice: इस्तेमाल करने के लिए ITestDevice

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

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

थ्रो
ConfigurationException

execCommand

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

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

पैरामीटर
listener ICommandScheduler.IScheduledInvocationListener: जिस ICommandScheduler.IScheduledInvocationListener को सूचना देनी है

reservedDevices : इस्तेमाल करने के लिए 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)

invocaton आईडी बताकर, invocaton की जानकारी दिखाएं.

पैरामीटर
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

shouldShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

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

रिटर्न
boolean

बंद करना

public void shutdown (boolean notifyStop)

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

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

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 अगर अनुरोध रोक दिया गया था, तो true दिखाता है. ऐसा न होने पर, false दिखाता है

stopInvocation

public boolean stopInvocation (int invocationId, 
                String cause)

चल रहे अनुरोध का आईडी बताकर उसे रोकें.

पैरामीटर
invocationId int: ट्रिगर करने का ट्रैकिंग आईडी.

cause String: कॉल को रोकने की वजह.

रिटर्न
boolean अगर अनुरोध रोक दिया गया था, तो true दिखाता है. ऐसा न होने पर, false दिखाता है

stopScheduling

public void stopScheduling ()

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

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

cleanUp

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 अगर निर्देश ड्राई रन है, तो true दिखाता है. ऐसा न होने पर, false दिखाता है.

थ्रो
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 ()

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

रिटर्न
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

रिटर्न
TestInvocationManagementServer

initLogging

protected void initLogging ()

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

यूनिट टेस्ट के लिए, इसे एक्सपोज़ किया गया है.

isShutdown

protected boolean isShutdown ()

रिटर्न
boolean

processReadyCommands

protected void processReadyCommands (IDeviceManager manager)

पैरामीटर
manager IDeviceManager