CommandScheduler
public
class
CommandScheduler
extends Object
implements
ICommandScheduler
java.lang.Object | |
↳ | com.android.tradefed.command.CommandScheduler |
เครื่องจัดตารางเวลาสำหรับเรียกใช้คำสั่ง TradeFederation ในอุปกรณ์ทั้งหมดที่มี
จะพยายามจัดลำดับความสำคัญของคำสั่งเพื่อเรียกใช้ตามจำนวนการดำเนินการทั้งหมดที่ทำงานอยู่ เช่น ระบบจะให้ความสำคัญกับคำสั่งที่เรียกใช้ไม่บ่อยหรือเร็วมากกว่าคำสั่งที่ทำงานเป็นเวลานาน
ทำงานอยู่เบื้องหลังตลอดจนกว่าจะปิดเครื่อง
สรุป
ช่างก่อสร้างสาธารณะ | |
---|---|
CommandScheduler()
สร้าง |
วิธีการสาธารณะ | |
---|---|
Pair<Boolean, Integer>
|
addCommand(String[] args)
เพิ่มคำสั่งลงในเครื่องจัดตารางเวลา |
void
|
addCommandFile(String cmdFilePath,
เพิ่มคำสั่งทั้งหมดจากไฟล์ที่ระบุลงในเครื่องจัดตารางเวลา |
void
|
await()
รอให้เครื่องจัดตารางเวลาเริ่มทำงาน รวมถึงรอการส่งมอบจาก TF เก่าให้เสร็จสมบูรณ์ หากมี |
static
TradefedDelegator
|
checkDelegation(String[] args)
สร้างผู้มอบสิทธิ์ตามบรรทัดคำสั่งเพื่อดูว่าเราจำเป็นต้องมอบสิทธิ์การเรียกใช้หรือไม่ |
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 แบบขยายสำหรับคำสั่งที่มี
ระบุค่า |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener,
เรียกใช้คำสั่งโดยตรงในอุปกรณ์ที่จัดสรรแล้ว |
long
|
execCommand(IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
จัดสรรอุปกรณ์และเรียกใช้คำสั่งโดยตรงโดยไม่ต้องเพิ่มลงในคิวคำสั่ง
โดยใช้ |
long
|
execCommand(ICommandScheduler.IScheduledInvocationListener listener, String[] args)
จัดสรรอุปกรณ์และเรียกใช้คำสั่งโดยตรงโดยไม่ต้องเพิ่มลงในคิวคำสั่ง |
CommandFileWatcher
|
getCommandFileWatcher()
รับ CommandFileWatcher ที่เหมาะสมสำหรับเครื่องจัดตารางเวลานี้ |
int
|
getExecutingCommandCount()
แสดงผลจำนวนคำสั่งในสถานะปฏิบัติการ |
CommandScheduler.HostState
|
getHostState()
|
String
|
getInvocationInfo(int invocationId)
แสดงผลข้อมูลเกี่ยวกับรหัสการเรียกใช้ที่ระบุรหัสการเรียกใช้ |
CommandRunner.ExitCode
|
getLastInvocationExitCode()
แสดงรหัสข้อผิดพลาดของการเรียกใช้ล่าสุดที่เรียกใช้ |
Throwable
|
getLastInvocationThrowable()
แสดงผล |
int
|
getReadyCommandCount()
แสดงผลจำนวนคำสั่งในสถานะพร้อมในคิว |
long
|
getShutdownTimeout()
|
boolean
|
isDeviceInInvocationThread(ITestDevice device)
แสดงผลเป็น "จริง" หากใช้อุปกรณ์โดยเทรดการเรียกใช้ที่ใช้งานอยู่ |
boolean
|
isShuttingDown()
|
void
|
notifyFileChanged(File cmdFile,
|
void
|
removeAllCommands()
นำคำสั่งทั้งหมดออกจากเครื่องจัดตารางเวลา |
void
|
run()
บล็อกการดำเนินการหลักของเทรดนี้ |
void
|
setClearcutClient(ClearcutClient client)
ตั้งค่าให้ไคลเอ็นต์รายงานข้อมูลการใช้ประโยชน์จาก |
boolean
|
shouldShutdownOnCmdfileError()
แสดงค่า "จริง" หากเราต้องปิดเครื่องจัดตารางเวลาเมื่อมีข้อผิดพลาดด้านคำสั่ง |
void
|
shutdown(boolean notifyStop)
ลองปิดเครื่องจัดตารางเวลาคำสั่งอย่างระมัดระวัง |
void
|
shutdownHard(boolean killAdb)
พยายามบังคับให้เครื่องจัดตารางเวลาคำสั่งปิดระบบอย่างแรง |
void
|
shutdownHard()
พยายามบังคับให้เครื่องจัดตารางเวลาคำสั่งปิดระบบอย่างแรง |
void
|
shutdownOnEmpty()
คล้ายกับ |
void
|
start()
เริ่มเครื่องจัดตารางเวลา รวมถึงการตั้งค่าการบันทึก, init of |
boolean
|
stopInvocation(ITestInvocation invocation)
หยุดการเรียกใช้ที่ทำงานอยู่ |
boolean
|
stopInvocation(int invocationId, String cause)
หยุดการเรียกใช้ที่ทำงานอยู่โดยการระบุรหัส |
void
|
stopScheduling()
หยุดการกำหนดเวลาและรับการทดสอบใหม่ แต่จะไม่หยุด Tradefed |
ช่างก่อสร้างสาธารณะ
CommandScheduler
public CommandScheduler ()
สร้าง CommandScheduler
หมายเหตุ: ต้องเรียกใช้ก่อนการใช้งาน
วิธีการสาธารณะ
เพิ่มคำสั่ง
public Pair<Boolean, Integer> addCommand (String[] args)
เพิ่มคำสั่งลงในเครื่องจัดตารางเวลา
โดยพื้นฐานแล้ว คำสั่งเป็นอินสแตนซ์ของการกำหนดค่าที่จะเรียกใช้และเชื่อมโยงกับ อาร์กิวเมนต์
หาก "--help" มีการระบุข้อความช่วยเหลือสำหรับการกำหนดค่าจะเอาต์พุตเป็น stdout มิเช่นนั้น ระบบจะเพิ่มการกำหนดค่าลงในคิวที่จะเรียกใช้
พารามิเตอร์ | |
---|---|
args |
String : อาร์กิวเมนต์ config |
คิกรีเทิร์น | |
---|---|
Pair<Boolean, Integer> |
2 ค่า ค่าแรกคือบูลีน true หากมีการเพิ่มคำสั่ง
สำเร็จ ค่าที่ 2 คือรหัสเครื่องมือติดตามคำสั่งที่รู้จัก(ค่าที่ไม่เป็นลบ) หากพารามิเตอร์
เพิ่มคำสั่งเรียบร้อยแล้ว แสดงผล 0 เมื่อเพิ่มคำสั่งสำหรับอุปกรณ์ทั้งหมด ไม่เช่นนั้น
-1 |
การขว้าง | |
---|---|
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 |
การขว้าง | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
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 long execCommand (ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
เรียกใช้คำสั่งโดยตรงในอุปกรณ์ที่จัดสรรแล้ว
พารามิเตอร์ | |
---|---|
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่จะได้รับข้อมูล |
reservedDevices |
: ERROR(/List ที่จะใช้ |
args |
String : อาร์กิวเมนต์คำสั่ง |
คิกรีเทิร์น | |
---|---|
long |
รหัสการเรียกใช้ของคำสั่งที่กำหนดเวลาไว้ |
การขว้าง | |
---|---|
ConfigurationException |
คำสั่ง
public long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, String[] args)
จัดสรรอุปกรณ์และเรียกใช้คำสั่งโดยตรงโดยไม่ต้องเพิ่มลงในคิวคำสั่ง
โดยใช้ IInvocationContext
ที่มีอยู่แล้ว
พารามิเตอร์ | |
---|---|
context |
IInvocationContext : IInvocationContext ที่มีอยู่แล้ว |
listener |
ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่จะได้รับข้อมูล |
args |
String : อาร์กิวเมนต์คำสั่ง |
คิกรีเทิร์น | |
---|---|
long |
การขว้าง | |
---|---|
ConfigurationException |
|
NoDeviceException |
คำสั่ง
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)
แสดงผลข้อมูลเกี่ยวกับรหัสการเรียกใช้ที่ระบุรหัสการเรียกใช้
พารามิเตอร์ | |
---|---|
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 |
isDeviceInvocationThread
public boolean isDeviceInInvocationThread (ITestDevice device)
แสดงผลเป็น "จริง" หากใช้อุปกรณ์โดยเทรดการเรียกใช้ที่ใช้งานอยู่
พารามิเตอร์ | |
---|---|
device |
ITestDevice |
คิกรีเทิร์น | |
---|---|
boolean |
กำลังปิด
public boolean isShuttingDown ()
คิกรีเทิร์น | |
---|---|
boolean |
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 (boolean notifyStop)
ลองปิดเครื่องจัดตารางเวลาคำสั่งอย่างระมัดระวัง
พารามิเตอร์ | |
---|---|
notifyStop |
boolean : หากเป็น "จริง" จะแจ้งเตือนการเรียกใช้การปิด TF |
ปิดฮาร์ดแวร์
public void shutdownHard (boolean killAdb)
พยายามบังคับให้เครื่องจัดตารางเวลาคำสั่งปิดระบบอย่างแรง
คล้ายกับ shutdown()
แต่เลือกที่จะหยุดการเชื่อมต่อ adb ด้วย
พยายามที่จะ "สร้างแรงบันดาลใจ" คำขอที่อยู่ระหว่างดำเนินการเพื่อให้ดำเนินการเสร็จสมบูรณ์ได้เร็วขึ้น
พารามิเตอร์ | |
---|---|
killAdb |
boolean |
ปิดระบบฮาร์ดแวร์
public void shutdownHard ()
พยายามบังคับให้เครื่องจัดตารางเวลาคำสั่งปิดระบบอย่างแรง เหมือนกับ offHard(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 หากไม่เป็นเช่นนั้น |
การกำหนดเวลาหยุด
public void stopScheduling ()
หยุดการกำหนดเวลาและรับการทดสอบใหม่ แต่จะไม่หยุด Tradefed โดยมีจุดประสงค์เพื่อเปิดใช้ การปิดระบบ 2 ขั้นตอน โดยก่อนอื่นเราจะระบายการทดสอบที่ทำงานอยู่ทั้งหมด จากนั้นจึงสิ้นสุดการทดสอบ Tradefed ขั้นตอนได้
วิธีการป้องกัน
ล้าง
protected void cleanUp ()
ปิดบันทึกและทำความสะอาดส่วนอื่นๆ ที่จำเป็นก่อนที่เราจะออก
เปิดเผยเพื่อให้ทดสอบ 1 หน่วยจำลองได้
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 |
"จริง" หากคำสั่งเป็นการทดลองเรียกใช้ หรือจะเป็น "เท็จ" หากไม่เป็นเช่นนั้น |
การขว้าง | |
---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
คำสั่ง
protected long execCommand (IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener,reservedDevices, String[] args)
พารามิเตอร์ | |
---|---|
context |
IInvocationContext |
listener |
ICommandScheduler.IScheduledInvocationListener |
reservedDevices |
|
args |
String |
คิกรีเทิร์น | |
---|---|
long |
การขว้าง | |
---|---|
ConfigurationException |
รับการกำหนดค่าจากโรงงาน
protected IConfigurationFactory getConfigFactory ()
วิธีการจากโรงงานสำหรับการรับการอ้างอิง IConfigurationFactory
คิกรีเทิร์น | |
---|---|
IConfigurationFactory |
IConfigurationFactory ที่จะใช้ |
รับเซิร์ฟเวอร์การจัดการอุปกรณ์
protected DeviceManagementGrpcServer getDeviceManagementServer ()
คิกรีเทิร์น | |
---|---|
DeviceManagementGrpcServer |
getDeviceManager
protected IDeviceManager getDeviceManager ()
วิธีการจากโรงงานสำหรับการรับการอ้างอิง IDeviceManager
คิกรีเทิร์น | |
---|---|
IDeviceManager |
IDeviceManager ที่จะใช้ |
เซิร์ฟเวอร์ getFeature
protected TradefedFeatureServer getFeatureServer ()
คิกรีเทิร์น | |
---|---|
TradefedFeatureServer |
getKeyStoreClient
protected IKeyStoreClient getKeyStoreClient ()
จะดึงข้อมูล IKeyStoreClient
โดยใช้ IKeyStoreFactory
ที่ประกาศใน IGlobalConfiguration
หรือเป็นค่าว่าง หากไม่ได้กำหนดไว้
คิกรีเทิร์น | |
---|---|
IKeyStoreClient |
IKeyStoreClient |
getTestInvocationManagementserver
protected TestInvocationManagementServer getTestInvocationManagementServer ()
คิกรีเทิร์น | |
---|---|
TestInvocationManagementServer |
การเริ่มต้นบันทึก
protected void initLogging ()
เริ่มต้นบันทึก ddmlib
เปิดเผยเพื่อให้ทดสอบ 1 หน่วยจำลองได้
กำลังปิด
protected boolean isShutdown ()
คิกรีเทิร์น | |
---|---|
boolean |
คำสั่งพร้อมประมวลผล
protected void processReadyCommands (IDeviceManager manager)
พารามิเตอร์ | |
---|---|
manager |
IDeviceManager |