CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
सभी उपलब्ध डिवाइसों पर TradeFederation के निर्देश चलाने के लिए शेड्यूलर.
यह कमांड को चलाने के लिए प्राथमिकता तय करने की कोशिश करेगा. यह प्राथमिकता, कमांड को लागू करने में लगने वाले समय के आधार पर तय की जाएगी. उदाहरण के लिए, कम या तेज़ी से चलने वाले कमांड को, ज़्यादा समय से चल रहे कमांड के मुकाबले प्राथमिकता दी जाएगी.
यह शटडाउन होने तक, बैकग्राउंड में हमेशा चलता रहता है.
खास जानकारी
नेस्ट की गई क्लास | |
---|---|
enum |
CommandScheduler.HostState
होस्ट की अलग-अलग स्थिति के लिए Enum |
पब्लिक कंस्ट्रक्टर | |
---|---|
CommandScheduler()
|
सार्वजनिक तरीके | |
---|---|
boolean
|
addCommand(String[] args)
शेड्यूलर में कोई निर्देश जोड़ता है. |
void
|
addCommandFile(String cmdFilePath,
यह शेड्यूलर में, दी गई फ़ाइल के सभी निर्देश जोड़ता है |
void
|
await()
शेड्यूलर के चलने का इंतज़ार करता है. अगर लागू हो, तो पुराने टीएफ़ से हैंडओवर की प्रोसेस पूरी होने का इंतज़ार भी करता है. |
static
TradefedDelegator
|
checkDelegation(String[] args)
कमांड लाइन के आधार पर, किसी व्यक्ति को टास्क असाइन करने की सुविधा बनाएं. इससे यह पता चलेगा कि हमें टास्क असाइन करना है या नहीं. |
void
|
completeHandover()
कमांड शेड्यूलर को बताता है कि शुरू किया गया हैंडओवर क्रम पूरी तरह से पूरा हो गया है और उसे डिफ़ॉल्ट पोर्ट पर अपने रिमोट मैनेजर को फिर से शुरू करना चाहिए. |
static
|
createReleaseMap(IInvocationContext context, Throwable e)
डिवाइसों की स्थिति का मैप बनाएं, ताकि उन्हें सही तरीके से रिलीज़ किया जा सके. |
ISandbox
|
createSandbox()
एक |
void
|
displayCommandQueue(PrintWriter printWriter)
निर्देशों को लागू करने की सूची की स्थिति के बारे में, डीबग की पूरी जानकारी दिखाता है. |
void
|
displayCommandsInfo(PrintWriter printWriter, String regex)
मौजूदा निर्देशों की सूची दिखाता है. |
void
|
displayInvocationsInfo(PrintWriter printWriter)
मौजूदा अनुरोधों की सूची दिखाता है. |
void
|
dumpCommandsXml(PrintWriter printWriter, String regex)
सभी मौजूदा निर्देशों के लिए बताई गई सभी |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
पहले से असाइन किए गए डिवाइस पर सीधे निर्देश लागू करें. |
void
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
यह किसी डिवाइस को सीधे तौर पर असाइन करता है और किसी मौजूदा |
void
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
सीधे तौर पर किसी डिवाइस को असाइन करता है और उसे कमांड की सूची में जोड़े बिना कमांड को लागू करता है. |
CommandFileWatcher
|
getCommandFileWatcher()
इस शेड्यूलर के लिए सही |
int
|
getExecutingCommandCount()
यह उन निर्देशों की संख्या दिखाता है जो चल रहे हैं. |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
invocaton आईडी बताकर, invocaton की जानकारी दिखाएं. |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
आखिरी बार ट्रिगर किए गए फ़ंक्शन के गड़बड़ी कोड को दिखाता है. |
Throwable
|
getLastInvocationThrowable()
आखिरी बार चलने वाले |
int
|
getReadyCommandCount()
यह फ़ंक्शन, सूची में मौजूद उन निर्देशों की संख्या दिखाता है जो इस्तेमाल के लिए तैयार हैं. |
long
|
getShutdownTimeout()
|
void
|
handoverInitiationComplete()
कमांड शेड्यूलर को बताता है कि इस्तेमाल में मौजूद डिवाइसों और कमांड का शुरुआती हैंडओवर एक्सचेंज पूरा हो गया है और वह ऑपरेशन शेड्यूल करना शुरू कर सकता है. |
boolean
|
handoverShutdown(int handoverPort)
यह |
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
शेड्यूलर से सभी निर्देश हटाना |
void
|
run()
इस थ्रेड का मुख्य एक्ज़ीक्यूशन ब्लॉक. |
void
|
setClearcutClient(ClearcutClient client)
हार्नेस डेटा की रिपोर्ट करने के लिए क्लाइंट सेट करना |
boolean
|
shouldShutdownOnCmdfileError()
अगर हमें किसी निर्देश से जुड़ी गड़बड़ियों की वजह से शेड्यूलर को बंद करना है, तो True दिखाएं |
void
|
shutdown()
कमांड शेड्यूलर को सही तरीके से बंद करने की कोशिश करें. |
void
|
shutdownHard(boolean killAdb)
कमांड शेड्यूलर को जबरदस्ती बंद करने की कोशिश करना. |
void
|
shutdownHard()
कमांड शेड्यूलर को जबरदस्ती बंद करने की कोशिश करना. |
void
|
shutdownOnEmpty()
|
void
|
start()
शेड्यूलर को शुरू करता है. इसमें लॉगिंग सेट अप करना, |
boolean
|
stopInvocation(ITestInvocation invocation)
चल रहे अनुरोध को रोकना. |
boolean
|
stopInvocation(int invocationId, String cause)
चल रहे अनुरोध का आईडी बताकर उसे रोकें. |
सुरक्षित तरीके | |
---|---|
void
|
cleanUp()
बंद करने से पहले, लॉग बंद कर देता है और ज़रूरी सफ़ाई करता है. |
IConfiguration
|
createConfiguration(String[] args)
|
IInvocationContext
|
createInvocationContext()
|
IConfigurationFactory
|
getConfigFactory()
|
IDeviceManager
|
getDeviceManager()
|
TradefedFeatureServer
|
getFeatureServer()
|
IHostOptions
|
getHostOptions()
|
IKeyStoreClient
|
getKeyStoreClient()
|
void
|
initLogging()
ddmlib लॉग को शुरू करता है. |
boolean
|
isShutdown()
|
boolean
|
isShuttingDown()
|
void
|
processReadyCommands(IDeviceManager manager)
|
void
|
waitForAllInvocationThreads()
सभी थ्रेड के पूरी तरह से प्रोसेस होने का इंतज़ार करें. |
पब्लिक कंस्ट्रक्टर
CommandScheduler
public CommandScheduler ()
CommandScheduler
बनाता है.
ध्यान दें: इस्तेमाल करने से पहले, start को कॉल करना ज़रूरी है.
सार्वजनिक तरीके
addCommand
public boolean addCommand (String[] args)
शेड्यूलर में कोई निर्देश जोड़ता है.
कमांड, मुख्य रूप से चलाए जाने वाले कॉन्फ़िगरेशन और उससे जुड़े आर्ग्युमेंट का इंस्टेंस होता है.
अगर "--help" आर्ग्युमेंट दिया गया है, तो कॉन्फ़िगरेशन के लिए सहायता टेक्स्ट, स्टैंडर्ड आउटपुट (stdout) में दिखेगा. ऐसा न करने पर, कॉन्फ़िगरेशन को रन करने के लिए सूची में जोड़ दिया जाएगा.
पैरामीटर | |
---|---|
args |
String : कॉन्फ़िगरेशन के आर्ग्युमेंट. |
रिटर्न | |
---|---|
boolean |
true अगर निर्देश सही तरीके से जोड़ा गया है |
थ्रो | |
---|---|
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 |
थ्रो | |
---|---|
ConfigurationException |
completeHandover
public void completeHandover ()
कमांड शेड्यूलर को बताता है कि शुरू किया गया हैंडओवर क्रम पूरी तरह से पूरा हो गया है और उसे डिफ़ॉल्ट पोर्ट पर अपने रिमोट मैनेजर को फिर से शुरू करना चाहिए.
createReleaseMap
public staticcreateReleaseMap (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 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 |
getCommandFileWatcher
public CommandFileWatcher getCommandFileWatcher ()
इस शेड्यूलर के लिए सही CommandFileWatcher
पाना
रिटर्न | |
---|---|
CommandFileWatcher |
getExecutingCommandCount
public int getExecutingCommandCount ()
यह उन निर्देशों की संख्या दिखाता है जो चल रहे हैं.
रिटर्न | |
---|---|
int |
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 |
handoverInitiationComplete
public void handoverInitiationComplete ()
कमांड शेड्यूलर को बताता है कि इस्तेमाल में मौजूद डिवाइसों और कमांड का शुरुआती हैंडओवर एक्सचेंज पूरा हो गया है और वह ऑपरेशन शेड्यूल करना शुरू कर सकता है.
handoverShutdown
public boolean handoverShutdown (int handoverPort)
यह shutdown()
शुरू करता है और इस होस्ट पर मौजूद किसी दूसरी ट्रेडफ़ेड प्रोसेस को हैंडओवर करता है.
शेड्यूलर, डिवाइसों के उपलब्ध होने पर, उस पोर्ट पर सुनने वाली रिमोट ट्रेडफ़ेड प्रोसेस को इसकी सूचना देगा.
पैरामीटर | |
---|---|
handoverPort |
int |
रिटर्न | |
---|---|
boolean |
true अगर हैंडओवर शुरू करने की प्रोसेस पूरी हो गई है, false
अन्यथा
|
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 ()
कमांड शेड्यूलर को सही तरीके से बंद करने की कोशिश करें.
जिन निर्देशों की जांच बाकी है उन्हें मिटाता है. साथ ही, यह अनुरोध करता है कि जारी सभी अनुरोधों को बंद कर दिया जाए.
शटडाउन का अनुरोध करने के बाद, शेड्यूलर का मुख्य लूप पूरी तरह से बाहर निकलने से पहले, चल रहे सभी अनुरोधों के पूरा होने का इंतज़ार करेगा.
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 दिखाता है |
सुरक्षित तरीके
cleanUp
protected void cleanUp ()
बंद करने से पहले, लॉग बंद कर देता है और ज़रूरी क्लीनअप करता है.
यूनिट टेस्ट के लिए, इसे एक्सपोज़ किया गया है.
createConfiguration
protected IConfiguration createConfiguration (String[] args)
पैरामीटर | |
---|---|
args |
String |
रिटर्न | |
---|---|
IConfiguration |
थ्रो | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
रिटर्न | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
IConfigurationFactory
का रेफ़रंस पाने के लिए फ़ैक्ट्री मेथड
रिटर्न | |
---|---|
IConfigurationFactory |
IConfigurationFactory का इस्तेमाल करने के लिए
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
IDeviceManager
का रेफ़रंस पाने के लिए फ़ैक्ट्री मेथड
रिटर्न | |
---|---|
IDeviceManager |
IDeviceManager का इस्तेमाल करने के लिए
|
getHostOptions
protected IHostOptions getHostOptions ()
रिटर्न | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
IGlobalConfiguration
में बताए गए IKeyStoreFactory
का इस्तेमाल करके IKeyStoreClient
फ़ेच करता है. अगर कोई वैल्यू तय नहीं की गई है, तो शून्य दिखाता है.
रिटर्न | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
initLogging
protected void initLogging ()
ddmlib लॉग को शुरू करता है.
यूनिट टेस्ट के लिए, इसे एक्सपोज़ किया गया है.
isShutdown
protected boolean isShutdown ()
रिटर्न | |
---|---|
boolean |
isShuttingDown
protected boolean isShuttingDown ()
रिटर्न | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
पैरामीटर | |
---|---|
manager |
IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
सभी थ्रेड के पूरी तरह से प्रोसेस होने का इंतज़ार करें.