CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


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

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

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

खास जानकारी

नेस्ट की गई क्लास

enum CommandScheduler.HostState

होस्ट की अलग-अलग स्थिति के लिए Enum  

पब्लिक कंस्ट्रक्टर

CommandScheduler()

CommandScheduler बनाता है.

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

boolean addCommand(String[] args)

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

void addCommandFile(String cmdFilePath, extraArgs)

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

void await()

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

static TradefedDelegator checkDelegation(String[] args)

कमांड लाइन के आधार पर, किसी व्यक्ति को टास्क असाइन करने की सुविधा बनाएं. इससे यह पता चलेगा कि हमें टास्क असाइन करना है या नहीं.

void completeHandover()

कमांड शेड्यूलर को बताता है कि शुरू किया गया हैंडओवर क्रम पूरी तरह से पूरा हो गया है और उसे डिफ़ॉल्ट पोर्ट पर अपने रिमोट मैनेजर को फिर से शुरू करना चाहिए.

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 वैल्यू के साथ, निर्देश के लिए बड़ी की गई एक्सएमएल फ़ाइल को डंप करें.

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

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

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

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

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

कमांड शेड्यूलर को बताता है कि इस्तेमाल में मौजूद डिवाइसों और कमांड का शुरुआती हैंडओवर एक्सचेंज पूरा हो गया है और वह ऑपरेशन शेड्यूल करना शुरू कर सकता है.

boolean handoverShutdown(int handoverPort)

यह shutdown() शुरू करता है और इस होस्ट पर मौजूद किसी दूसरी ट्रेडफ़ेड प्रोसेस को हैंडओवर करता है.

void notifyFileChanged(File cmdFile, extraArgs)
void removeAllCommands()

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

void run()

इस थ्रेड का मुख्य एक्ज़ीक्यूशन ब्लॉक.

void setClearcutClient(ClearcutClient client)

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

boolean shouldShutdownOnCmdfileError()

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

void shutdown()

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

void shutdownHard(boolean killAdb)

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

void shutdownHard()

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

void shutdownOnEmpty()

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

void start()

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

boolean stopInvocation(ITestInvocation invocation)

चल रहे अनुरोध को रोकना.

boolean stopInvocation(int invocationId, String cause)

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

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

void cleanUp()

बंद करने से पहले, लॉग बंद कर देता है और ज़रूरी सफ़ाई करता है.

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

IConfigurationFactory का रेफ़रंस पाने के लिए फ़ैक्ट्री मेथड

IDeviceManager getDeviceManager()

IDeviceManager का रेफ़रंस पाने के लिए फ़ैक्ट्री मेथड

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

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

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

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

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

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

रिटर्न
TradefedFeatureServer

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

सभी थ्रेड के पूरी तरह से प्रोसेस होने का इंतज़ार करें.