CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
เครื่องจัดตารางเวลาสำหรับเรียกใช้คำสั่ง TradeFederation ในอุปกรณ์ทั้งหมดที่มี
จะพยายามจัดลำดับความสำคัญของคำสั่งเพื่อเรียกใช้ตามจำนวนการดำเนินการทั้งหมดที่ทำงานอยู่ เช่น ระบบจะให้ความสำคัญกับคำสั่งที่เรียกใช้ไม่บ่อยหรือเร็วมากกว่าคำสั่งที่ทำงานเป็นเวลานาน
ทำงานอยู่เบื้องหลังตลอดจนกว่าจะปิดเครื่อง
สรุป
ชั้นเรียนที่ซ้อนกัน | |
---|---|
enum |
CommandScheduler.HostState
แจกแจงสถานะต่างๆ ของโฮสต์ |
ช่างก่อสร้างสาธารณะ | |
---|---|
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()
เริ่มเครื่องจัดตารางเวลา รวมถึงการตั้งค่าการบันทึก, init of |
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
หมายเหตุ: ต้องเรียกใช้ก่อนการใช้งาน
วิธีการสาธารณะ
เพิ่มคำสั่ง
public boolean addCommand (String[] args)
เพิ่มคำสั่งลงในเครื่องจัดตารางเวลา
โดยพื้นฐานแล้ว คำสั่งเป็นอินสแตนซ์ของการกำหนดค่าที่จะเรียกใช้และอาร์กิวเมนต์ที่เกี่ยวข้อง
หาก "--help" มีการระบุข้อความช่วยเหลือสำหรับ การกำหนดค่าจะเอาต์พุตเป็น stdout ไม่เช่นนั้น ระบบจะเพิ่มการกำหนดค่าลงในคิวเพื่อ วิ่งได้
พารามิเตอร์ | |
---|---|
args |
String : อาร์กิวเมนต์ config |
คิกรีเทิร์น | |
---|---|
boolean |
true หากเพิ่มคำสั่งเรียบร้อยแล้ว |
การขว้าง | |
---|---|
ConfigurationException |
เพิ่มคำสั่งไฟล์
public void addCommandFile (String cmdFilePath,extraArgs)
เพิ่มคำสั่งทั้งหมดจากไฟล์ที่ระบุลงในเครื่องจัดตารางเวลา
พารามิเตอร์ | |
---|---|
cmdFilePath |
String : เส้นทางระบบไฟล์ของไฟล์คำสั่ง |
extraArgs |
: ERROR(/List) จาก String อาร์กิวเมนต์ที่จะต่อท้ายแต่ละคำสั่งที่แยกวิเคราะห์แล้ว
จากไฟล์ เว้นว่างได้แต่ไม่ควรเป็นค่าว่าง |
การขว้าง | |
---|---|
ConfigurationException |
รอ
public void await ()
รอให้เครื่องจัดตารางเวลาเริ่มทำงาน รวมถึงรอการส่งมอบจาก TF เก่าให้เสร็จสมบูรณ์ หากมี
การมอบสิทธิ์การตรวจสอบ
public static TradefedDelegator checkDelegation (String[] args)
สร้างผู้มอบสิทธิ์ตามบรรทัดคำสั่งเพื่อดูว่าเราจำเป็นต้องมอบสิทธิ์การเรียกใช้หรือไม่
พารามิเตอร์ | |
---|---|
args |
String |
คิกรีเทิร์น | |
---|---|
TradefedDelegator |
การขว้าง | |
---|---|
ConfigurationException |
แฮนด์โอเวอร์ที่สมบูรณ์
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)
ถ่ายโอนไฟล์ XML แบบขยายสำหรับคำสั่งที่มี
ระบุค่า Option
สำหรับคำสั่งปัจจุบันทั้งหมด
พารามิเตอร์ | |
---|---|
printWriter |
PrintWriter : ERROR(/PrintWriter) เพื่อแสดงสถานะ |
regex |
String : นิพจน์ทั่วไปที่จะจับคู่คำสั่งสำหรับ
ไฟล์ XML ที่จะถ่ายโอน หากเป็นค่าว่าง ระบบจะส่งออกคำสั่งทั้งหมด
|
คำสั่ง
public void execCommand (ICommandScheduler.IScheduledInvocationListener listener, ITestDevice device, String[] args)
เรียกใช้คำสั่งโดยตรงในอุปกรณ์ที่จัดสรรแล้ว
พารามิเตอร์ | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่จะได้รับข้อมูล |
device |
ITestDevice : ITestDevice ที่จะใช้ |
args |
String : อาร์กิวเมนต์คำสั่ง |
การขว้าง | |
---|---|
ConfigurationException |
คำสั่ง
public void execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
จัดสรรอุปกรณ์และเรียกใช้คำสั่งโดยตรงโดยไม่ต้องเพิ่มลงในคิวคำสั่ง
โดยใช้ IInvocationContext
ที่มีอยู่แล้ว
พารามิเตอร์ | |
---|---|
context |
IInvocationContext : IInvocationContext ที่มีอยู่แล้ว |
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่จะได้รับข้อมูล |
args |
String : อาร์กิวเมนต์คำสั่ง |
การขว้าง | |
---|---|
ConfigurationException |
|
NoDeviceException |
คำสั่ง
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 |
จำนวนคำสั่ง get Ready
public int getReadyCommandCount ()
แสดงผลจำนวนคำสั่งในสถานะพร้อมในคิว
คิกรีเทิร์น | |
---|---|
int |
getShutdownระยะหมดเวลา
public long getShutdownTimeout ()
คิกรีเทิร์น | |
---|---|
long |
การเริ่มต้นการส่งมอบเสร็จสมบูรณ์
public void handoverInitiationComplete ()
แจ้งเครื่องจัดตารางเวลาคำสั่งว่าส่งการแลกเปลี่ยนอุปกรณ์และคำสั่งที่ใช้งานอยู่ครั้งแรก เสร็จสมบูรณ์ และสามารถเริ่มกำหนดเวลาการดำเนินการ
การปิดการส่งมอบ
public boolean handoverShutdown (int handoverPort)
เริ่มต้น shutdown()
และส่งไปยังกระบวนการอื่นที่มีการแลกเปลี่ยนในโฮสต์เดียวกันนี้
เครื่องจัดตารางเวลาจะแจ้งกระบวนการที่แลกเปลี่ยนจากระยะไกลให้ฟังในพอร์ตของอุปกรณ์ที่ว่างอยู่ เมื่อพร้อมให้บริการ
พารามิเตอร์ | |
---|---|
handoverPort |
int |
คิกรีเทิร์น | |
---|---|
boolean |
true หากการเริ่มต้นส่งมอบสำเร็จ false
หรือไม่เช่นนั้น
|
AlertFileChanged แล้ว
public void notifyFileChanged (File cmdFile,extraArgs)
พารามิเตอร์ | |
---|---|
cmdFile |
File |
extraArgs |
|
removeAllCommands
public void removeAllCommands ()
นำคำสั่งทั้งหมดออกจากเครื่องจัดตารางเวลา
โฮมรัน
public void run ()
บล็อกการดำเนินการหลักของเทรดนี้
setClearcutClient
public void setClearcutClient (ClearcutClient client)
ตั้งค่าให้ไคลเอ็นต์รายงานข้อมูลการใช้ประโยชน์จาก
พารามิเตอร์ | |
---|---|
client |
ClearcutClient |
ifShutdownOnCmdfileError
public boolean shouldShutdownOnCmdfileError ()
แสดงค่า "จริง" หากเราต้องปิดเครื่องจัดตารางเวลาเมื่อมีข้อผิดพลาดด้านคำสั่ง
คิกรีเทิร์น | |
---|---|
boolean |
ปิดเครื่อง
public void shutdown ()
ลองปิดเครื่องจัดตารางเวลาคำสั่งอย่างระมัดระวัง
ล้างคำสั่งที่รอทดสอบอยู่ และคำขอที่คำขอทั้งหมดกำลังดำเนินการอยู่ ปิดลงอย่างสง่างาม
หลังจากเรียกใช้การปิดระบบ ลูปหลักของเครื่องจัดตารางเวลาจะรอการเรียกใช้ทั้งหมดที่อยู่ระหว่างดำเนินการ ที่จะทำให้เสร็จก่อนที่จะออก โดยสมบูรณ์
ปิดฮาร์ดแวร์
public void shutdownHard (boolean killAdb)
พยายามบังคับให้เครื่องจัดตารางเวลาคำสั่งปิดระบบอย่างแรง
คล้ายกับ shutdown()
แต่เลือกที่จะหยุดการเชื่อมต่อ adb ด้วย
พยายามที่จะ "สร้างแรงบันดาลใจ" คำขอที่อยู่ระหว่างดำเนินการเพื่อให้ดำเนินการเสร็จสมบูรณ์ได้เร็วขึ้น
พารามิเตอร์ | |
---|---|
killAdb |
boolean |
ปิดฮาร์ดแวร์
public void shutdownHard ()
พยายามบังคับให้เครื่องจัดตารางเวลาคำสั่งปิดระบบอย่างแรง เหมือนกับ DisableHard(true)
ปิดการทำงานเมื่อว่างเปล่า
public void shutdownOnEmpty ()
คล้ายกับ shutdown()
แต่จะรอให้มีการเรียกใช้คำสั่งทั้งหมดแทน
ก่อนที่จะออก
โปรดทราบว่าหากมีคำสั่งใดๆ อยู่ในโหมดวนซ้ำ เครื่องจัดตารางเวลาจะไม่ออกโดยเด็ดขาด
เริ่มต้น
public void start ()
เริ่มเครื่องจัดตารางเวลา รวมถึงการตั้งค่าการบันทึก, init of DeviceManager
ฯลฯ
การเรียกใช้การหยุด
public boolean stopInvocation (ITestInvocation invocation)
หยุดการเรียกใช้ที่ทำงานอยู่
พารามิเตอร์ | |
---|---|
invocation |
ITestInvocation |
คิกรีเทิร์น | |
---|---|
boolean |
true หากการเรียกใช้หยุดลง เป็น false หากไม่เป็นเช่นนั้น |
การเรียกใช้การหยุด
public boolean stopInvocation (int invocationId, String cause)
หยุดการเรียกใช้ที่ทำงานอยู่โดยการระบุรหัส
พารามิเตอร์ | |
---|---|
invocationId |
int : รหัสติดตามของการเรียกใช้ |
cause |
String : สาเหตุของการหยุดการเรียกใช้ |
คิกรีเทิร์น | |
---|---|
boolean |
true หากการเรียกใช้หยุดลง เป็น false หากไม่เป็นเช่นนั้น |
วิธีการป้องกัน
ล้าง
protected void cleanUp ()
ปิดบันทึกและทำการล้างข้อมูลอื่นๆ ที่จำเป็นก่อนที่เราจะออก
เปิดเผยเพื่อให้ทดสอบ 1 หน่วยจำลองได้
createConfiguration
protected IConfiguration createConfiguration (String[] args)
พารามิเตอร์ | |
---|---|
args |
String |
คิกรีเทิร์น | |
---|---|
IConfiguration |
การขว้าง | |
---|---|
ConfigurationException |
createInvocationContext
protected IInvocationContext createInvocationContext ()
คิกรีเทิร์น | |
---|---|
IInvocationContext |
รับการกำหนดค่าจากโรงงาน
protected IConfigurationFactory getConfigFactory ()
วิธีการจากโรงงานสำหรับการรับการอ้างอิง IConfigurationFactory
คิกรีเทิร์น | |
---|---|
IConfigurationFactory |
IConfigurationFactory ที่จะใช้
|
getDeviceManager
protected IDeviceManager getDeviceManager ()
วิธีการจากโรงงานสำหรับการรับการอ้างอิง IDeviceManager
คิกรีเทิร์น | |
---|---|
IDeviceManager |
IDeviceManager ที่จะใช้
|
เซิร์ฟเวอร์ getFeature
protected TradefedFeatureServer getFeatureServer ()
คิกรีเทิร์น | |
---|---|
TradefedFeatureServer |
getHostOptions
protected IHostOptions getHostOptions ()
คิกรีเทิร์น | |
---|---|
IHostOptions |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
ดึงข้อมูล IKeyStoreClient
โดยใช้ IKeyStoreFactory
ที่ประกาศเป็น IGlobalConfiguration
หรือ Null หากไม่ได้กำหนดไว้
คิกรีเทิร์น | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
การเริ่มต้นบันทึก
protected void initLogging ()
เริ่มต้นบันทึก ddmlib
เปิดเผยเพื่อให้ทดสอบ 1 หน่วยจำลองได้
กำลังปิด
protected boolean isShutdown ()
คิกรีเทิร์น | |
---|---|
boolean |
กำลังปิด
protected boolean isShuttingDown ()
คิกรีเทิร์น | |
---|---|
boolean |
คำสั่งพร้อมประมวลผล
protected void processReadyCommands (IDeviceManager manager)
พารามิเตอร์ | |
---|---|
manager |
IDeviceManager |
โปรดรอForAllInvocationThreads
protected void waitForAllInvocationThreads ()
รอจนกว่าชุดข้อความการเรียกใช้ทั้งหมดจะเสร็จสิ้น