CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
ตัวตั้งเวลาสำหรับเรียกใช้คําสั่ง TradeFederation ในอุปกรณ์ทั้งหมดที่ใช้ได้
จะพยายามจัดลําดับความสําคัญของคําสั่งที่จะเรียกใช้ตามจํานวนการเรียกใช้ทั้งหมดของเวลาดำเนินการ เช่น คําสั่งที่เรียกใช้ไม่บ่อยหรือเรียกใช้อย่างรวดเร็วจะมีลําดับความสําคัญเหนือกว่าคําสั่งที่เรียกใช้เป็นเวลานาน
ทำงานในเบื้องหลังตลอดจนกว่าจะปิดเครื่อง
สรุป
ชั้นเรียนที่ซ้อนกัน | |
---|---|
enum |
CommandScheduler.HostState
Enums ของสถานะต่างๆ ของโฮสต์ |
ตัวสร้างแบบสาธารณะ | |
---|---|
CommandScheduler()
สร้าง |
เมธอดสาธารณะ | |
---|---|
boolean
|
addCommand(String[] args)
เพิ่มคําสั่งลงในเครื่องจัดตารางเวลา |
void
|
addCommandFile(String cmdFilePath,
เพิ่มคําสั่งทั้งหมดจากไฟล์ที่ระบุลงในตัวตั้งเวลา |
void
|
await()
รอให้เครื่องมือจัดตารางเวลาเริ่มทํางาน รวมถึงรอให้ TF คนเก่าส่งมอบงานจนเสร็จสิ้น หากมี |
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)
วางไฟล์ XML ที่ขยายสำหรับคำสั่งที่มีค่า |
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)
แสดงข้อมูลเกี่ยวกับการเรียกใช้โดยระบุรหัสการเรียกใช้ |
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()
แสดงค่า "จริง" หากเราจำเป็นต้องปิดตัวตั้งเวลาเมื่อเกิดข้อผิดพลาดเกี่ยวกับคำสั่ง |
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()
วิธีการของ Factory สำหรับการอ้างอิง |
IDeviceManager
|
getDeviceManager()
วิธีการของ Factory สำหรับการอ้างอิง |
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 |
: ERROR(/List) ของอาร์กิวเมนต์ String เพื่อเพิ่มต่อท้ายคำสั่งแต่ละรายการที่แยกวิเคราะห์จากไฟล์ อาจเป็นค่าว่างได้ แต่ไม่ควรเป็นค่า Null |
การโยน | |
---|---|
ConfigurationException |
await
public void await ()
รอให้เครื่องมือจัดตารางเวลาเริ่มทํางาน รวมถึงรอให้ TF คนเก่าส่งมอบงานจนเสร็จสมบูรณ์ หากมี
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 : นิพจน์ทั่วไปที่ควรจับคู่กับคำสั่งเพื่อพิมพ์ หากเป็นค่า Null ระบบจะพิมพ์คําสั่งทั้งหมด
|
displayInvocationsInfo
public void displayInvocationsInfo (PrintWriter printWriter)
แสดงรายการการเรียกใช้ปัจจุบัน
พารามิเตอร์ | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) ที่จะแสดงผล
|
dumpCommandsXml
public void dumpCommandsXml (PrintWriter printWriter, String regex)
วางไฟล์ XML ที่ขยายสำหรับคำสั่งที่มีค่า Option
ทั้งหมดที่ระบุสำหรับคำสั่งปัจจุบันทั้งหมด
พารามิเตอร์ | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) สำหรับแสดงผลสถานะ |
regex |
String : นิพจน์ทั่วไปที่ควรจับคู่กับคําสั่งเพื่อให้ระบบแสดงผลไฟล์ XML หากเป็นค่า Null ระบบจะแสดงคำสั่งทั้งหมด
|
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)
แสดงข้อมูลเกี่ยวกับการเรียกใช้โดยระบุรหัสการเรียกใช้
พารามิเตอร์ | |
---|---|
invocationId |
int : รหัสติดตามของการเรียกใช้ |
คิกรีเทิร์น | |
---|---|
String |
String ที่มีข้อมูลเกี่ยวกับการเรียกใช้
|
getLastInvocationExitCode
public CommandRunner.ExitCode getLastInvocationExitCode ()
แสดงรหัสข้อผิดพลาดของการเรียกใช้ครั้งล่าสุดที่ทำงาน แสดงผล 0 (ไม่พบข้อผิดพลาด) หากยังไม่มีการเรียกใช้
คิกรีเทิร์น | |
---|---|
CommandRunner.ExitCode |
getLastInvocationThrowable
public Throwable getLastInvocationThrowable ()
แสดงผล Throwable
จากคําเรียกใช้ครั้งล่าสุดที่เรียกใช้
แสดงผล Null หากไม่มีรายการที่ทำให้เกิดข้อยกเว้น
คิกรีเทิร์น | |
---|---|
Throwable |
getReadyCommandCount
public int getReadyCommandCount ()
แสดงผลจํานวนคําสั่งที่อยู่ในสถานะพร้อมใช้งานในคิว
คิกรีเทิร์น | |
---|---|
int |
getShutdownTimeout
public long getShutdownTimeout ()
คิกรีเทิร์น | |
---|---|
long |
handoverInitiationComplete
public void handoverInitiationComplete ()
แจ้งเครื่องจัดตารางเวลาคำสั่งว่าการแลกเปลี่ยนอุปกรณ์และคำสั่งที่ใช้อยู่ในช่วงเริ่มต้นเสร็จสมบูรณ์แล้ว และสามารถเริ่มกำหนดเวลาการดำเนินการได้
handoverShutdown
public boolean handoverShutdown (int handoverPort)
เริ่มshutdown()
และส่งต่อไปยังกระบวนการ Tradefed อื่นในโฮสต์เดียวกันนี้
ตัวจัดตารางเวลาจะแจ้งให้กระบวนการ Tradefed ระยะไกลที่รอฟังพอร์ตดังกล่าวทราบเกี่ยวกับอุปกรณ์ที่ว่าง
พารามิเตอร์ | |
---|---|
handoverPort |
int |
คิกรีเทิร์น | |
---|---|
boolean |
true if handover initiation was successful, false
otherwise
|
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 ()
แสดงค่า "จริง" หากเราจำเป็นต้องปิดตัวตั้งเวลาเมื่อเกิดข้อผิดพลาดเกี่ยวกับคำสั่ง
คิกรีเทิร์น | |
---|---|
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()
แต่ระบบจะรอให้คำสั่งทั้งหมดทำงานก่อนออก
โปรดทราบว่าหากคําสั่งใดอยู่ในโหมดวนซ้ำ ตัวตั้งเวลาจะไม่ออก
stopInvocation
public boolean stopInvocation (ITestInvocation invocation)
หยุดการเรียกใช้ที่ทำงานอยู่
พารามิเตอร์ | |
---|---|
invocation |
ITestInvocation |
คิกรีเทิร์น | |
---|---|
boolean |
เป็นจริงหากการเรียกใช้หยุดลงแล้ว เป็นเท็จหากไม่ |
stopInvocation
public boolean stopInvocation (int invocationId, String cause)
หยุดการเรียกใช้ที่ทำงานอยู่โดยระบุรหัส
พารามิเตอร์ | |
---|---|
invocationId |
int : รหัสติดตามของการเรียกใช้ |
cause |
String : สาเหตุที่หยุดการเรียกใช้ |
คิกรีเทิร์น | |
---|---|
boolean |
เป็นจริงหากการเรียกใช้หยุดลงแล้ว เป็นเท็จหากไม่ |
วิธีการที่มีการป้องกัน
cleanUp
protected void cleanUp ()
ปิดบันทึกและดำเนินการล้างข้อมูลอื่นๆ ที่จำเป็นก่อนที่จะออก
เปิดเผยเพื่อให้การทดสอบ 1 หน่วยสามารถจำลองได้
createConfiguration
protected IConfiguration createConfiguration (String[] args)
พารามิเตอร์ | |
---|---|
args |
String |
คิกรีเทิร์น | |
---|---|
IConfiguration |
การโยน | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
คิกรีเทิร์น | |
---|---|
IInvocationContext |
getConfigFactory
protected IConfigurationFactory getConfigFactory ()
วิธีการของ Factory สำหรับการอ้างอิง IConfigurationFactory
คิกรีเทิร์น | |
---|---|
IConfigurationFactory |
IConfigurationFactory ที่จะใช้
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
วิธีการของ Factory สำหรับการอ้างอิง IDeviceManager
คิกรีเทิร์น | |
---|---|
IDeviceManager |
IDeviceManager ที่จะใช้
|
getFeatureServer
protected TradefedFeatureServer getFeatureServer ()
คิกรีเทิร์น | |
---|---|
TradefedFeatureServer |
getHostOptions
protected IHostOptions getHostOptions ()
คิกรีเทิร์น | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
ดึงข้อมูล IKeyStoreClient
โดยใช้ IKeyStoreFactory
ที่ประกาศใน IGlobalConfiguration
หรือเป็นค่า Null หากไม่มีการกําหนด
คิกรีเทิร์น | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
initLogging
protected void initLogging ()
เริ่มต้นบันทึก ddmlib
เปิดเผยเพื่อให้การทดสอบ 1 หน่วยสามารถจำลองได้
isShutdown
protected boolean isShutdown ()
คิกรีเทิร์น | |
---|---|
boolean |
isShuttingDown
protected boolean isShuttingDown ()
คิกรีเทิร์น | |
---|---|
boolean |
processReadyCommands
protected void processReadyCommands (IDeviceManager manager)
พารามิเตอร์ | |
---|---|
manager |
IDeviceManager |
waitForAllInvocationThreads
protected void waitForAllInvocationThreads ()
รอจนกว่าการเรียกใช้เธรดทั้งหมดจะเสร็จสมบูรณ์