จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

CommandScheduler

public class CommandScheduler
extends Object implements ICommandScheduler

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


ตัวกำหนดตารางเวลาสำหรับการรันคำสั่ง TradeFederation ในทุกอุปกรณ์ที่มีอยู่

จะพยายามจัดลำดับความสำคัญของคำสั่งให้รันตามจำนวนรันทั้งหมดของเวลาดำเนินการ เช่น คำสั่งที่รันไม่บ่อยหรือเร็วจะได้รับการจัดลำดับความสำคัญมากกว่าคำสั่งที่รันนาน

ทำงานตลอดไปในพื้นหลังจนกว่าจะปิดเครื่อง

สรุป

ผู้สร้างสาธารณะ

CommandScheduler ()

สร้าง CommandScheduler

วิธีการสาธารณะ

Pair <Boolean, Integer> addCommand (String[] args)

เพิ่มคำสั่งไปยังตัวกำหนดตารางเวลา

void addCommandFile (String cmdFilePath, extraArgs) addCommandFile (String cmdFilePath, extraArgs)

เพิ่มคำสั่งทั้งหมดจากไฟล์ที่กำหนดไปยังตัวกำหนดตารางเวลา

void await ()

รอให้ตัวกำหนดตารางเวลาเริ่มทำงาน รวมถึงการรอการส่งมอบจาก TF เก่าให้เสร็จสิ้น หากมี

static TradefedDelegator checkDelegation (String[] args)

สร้างผู้รับมอบสิทธิ์ตามบรรทัดคำสั่งเพื่อดูว่าเราจำเป็นต้องมอบหมายการเรียกใช้หรือไม่

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)

ดัมพ์ไฟล์ xml ที่ขยายสำหรับคำสั่งที่มีค่า Option ทั้งหมดที่ระบุสำหรับคำสั่งปัจจุบันทั้งหมด

long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)

ดำเนินการคำสั่งโดยตรงบนอุปกรณ์ที่จัดสรรไว้แล้ว

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

จัดสรรอุปกรณ์โดยตรงและดำเนินการคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่งโดยใช้ IInvocationContext ที่มีอยู่แล้ว

long execCommand ( ICommandScheduler.IScheduledInvocationListener listener, String[] args)

จัดสรรอุปกรณ์โดยตรงและดำเนินการคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่ง

CommandFileWatcher getCommandFileWatcher ()

รับ CommandFileWatcher ที่เหมาะสมสำหรับตัวกำหนดตารางเวลานี้

int getExecutingCommandCount ()

ส่งกลับจำนวนคำสั่งในสถานะดำเนินการ

CommandScheduler.HostState getHostState ()
String getInvocationInfo (int invocationId)

ส่งคืนข้อมูลในการเรียกใช้ bu โดยระบุรหัสการเรียกใช้

CommandRunner.ExitCode getLastInvocationExitCode ()

ส่งคืนรหัสข้อผิดพลาดของการเรียกใช้ครั้งล่าสุดที่เรียกใช้

Throwable getLastInvocationThrowable ()

ส่งคืน ERROR(/Throwable) จากการร้องขอล่าสุดที่รัน

int getReadyCommandCount ()

ส่งกลับจำนวนคำสั่งในสถานะพร้อมในคิว

long getShutdownTimeout ()
boolean isDeviceInInvocationThread ( ITestDevice device)

คืนค่าจริงหากอุปกรณ์ถูกใช้โดยเธรดการเรียกใช้ที่ใช้งานอยู่

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

ลบคำสั่งทั้งหมดออกจากตัวกำหนดตารางเวลา

void run ()

บล็อกการดำเนินการหลักของเธรดนี้

void setClearcutClient (ClearcutClient client)

ตั้งค่าไคลเอ็นต์ให้รายงานข้อมูลสายรัด

boolean shouldShutdownOnCmdfileError ()

คืนค่าจริงหากเราจำเป็นต้องปิดตัวกำหนดตารางเวลาเมื่อเกิดข้อผิดพลาดของคำสั่ง

void shutdown (boolean notifyStop)

พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างสง่างาม

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 ()
long execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args) execCommand ( IInvocationContext context, ICommandScheduler.IScheduledInvocationListener listener, reservedDevices, String[] args)
IConfigurationFactory getConfigFactory ()

วิธีการจากโรงงานสำหรับการอ้างอิงถึง IConfigurationFactory

DeviceManagementGrpcServer getDeviceManagementServer ()
IDeviceManager getDeviceManager ()

วิธีการจากโรงงานสำหรับการอ้างอิงถึง IDeviceManager

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

ดึง IKeyStoreClient โดยใช้ IKeyStoreFactory ที่ประกาศใน IGlobalConfiguration หรือค่า null หากไม่มีการกำหนด

TestInvocationManagementServer getTestInvocationManagementServer ()
void initLogging ()

เริ่มต้นบันทึก ddmlib

boolean isShutdown ()
boolean isShuttingDown ()
void processReadyCommands ( IDeviceManager manager)

ผู้สร้างสาธารณะ

CommandScheduler

public CommandScheduler ()

สร้าง CommandScheduler

หมายเหตุ: ต้องเรียก start ก่อนใช้งาน

วิธีการสาธารณะ

เพิ่มคำสั่ง

public Pair<Boolean, Integer> addCommand (String[] args)

เพิ่มคำสั่งไปยังตัวกำหนดตารางเวลา

คำสั่งคืออินสแตนซ์ของคอนฟิกูเรชันที่จะรันและอาร์กิวเมนต์ที่เกี่ยวข้อง

หากระบุอาร์กิวเมนต์ "--help" ข้อความช่วยเหลือสำหรับการกำหนดค่าจะถูกส่งออกไปยัง stdout มิฉะนั้น config จะถูกเพิ่มลงในคิวเพื่อรัน

พารามิเตอร์
args String : อาร์กิวเมนต์การกำหนดค่า

ส่งคืน
Pair <Boolean, Integer> คู่ของค่า ค่าแรกเป็นบูลีน true หากเพิ่มคำสั่งสำเร็จ ค่าที่สองคือ id ตัวติดตามคำสั่งที่รู้จัก (ค่าที่ไม่ใช่ค่าลบ) หากเพิ่มคำสั่งสำเร็จ ส่งคืน 0 เมื่อมีการเพิ่มคำสั่งสำหรับอุปกรณ์ทั้งหมด มิฉะนั้น -1

พ่น
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

เพิ่มคำสั่งทั้งหมดจากไฟล์ที่กำหนดไปยังตัวกำหนดตารางเวลา

พารามิเตอร์
cmdFilePath String : เส้นทางระบบไฟล์ของไฟล์ comand

extraArgs : ข้อโต้แย้ง ERROR(/List) ของ ERROR(/String) เพื่อต่อท้ายแต่ละคำสั่งที่แยกวิเคราะห์จากไฟล์ สามารถว่างเปล่าได้ แต่ไม่ควรเป็นโมฆะ

พ่น
ConfigurationException

รอ

public void await ()

รอให้ตัวกำหนดตารางเวลาเริ่มทำงาน รวมถึงการรอการส่งมอบจาก TF เก่าให้เสร็จสิ้น หากมี

ตรวจสอบการมอบหมาย

public static TradefedDelegator checkDelegation (String[] args)

สร้างผู้รับมอบสิทธิ์ตามบรรทัดคำสั่งเพื่อดูว่าเราจำเป็นต้องมอบหมายการเรียกใช้หรือไม่

พารามิเตอร์
args String

ส่งคืน
TradefedDelegator

พ่น
com.android.tradefed.config.ConfigurationException
ConfigurationException

สร้าง ReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

สร้างแผนที่สถานะอุปกรณ์เพื่อให้สามารถเผยแพร่ได้อย่างเหมาะสม

พารามิเตอร์
context IInvocationContext

e Throwable

ส่งคืน

สร้างแซนด์บ็อกซ์

public ISandbox createSandbox ()

สร้าง ISandbox ที่การเรียกใช้จะใช้ในการเรียกใช้

ส่งคืน
ISandbox

displayCommandQueue

public void displayCommandQueue (PrintWriter printWriter)

ส่งออกข้อมูลการดีบักโดยละเอียดเกี่ยวกับสถานะของคิวดำเนินการคำสั่ง

แสดงข้อมูลคำสั่ง

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 long execCommand (ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

ดำเนินการคำสั่งโดยตรงบนอุปกรณ์ที่จัดสรรไว้แล้ว

พารามิเตอร์
listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่จะแจ้งให้ทราบ

reservedDevices : ERROR(/List ) ERROR(/List ) เพื่อใช้

args String : อาร์กิวเมนต์ของคำสั่ง

ส่งคืน
long รหัสการเรียกใช้ของคำสั่งที่กำหนดเวลาไว้

พ่น
ConfigurationException

execCommand

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

จัดสรรอุปกรณ์โดยตรงและดำเนินการคำสั่งโดยไม่ต้องเพิ่มลงในคิวคำสั่งโดยใช้ IInvocationContext ที่มีอยู่แล้ว

พารามิเตอร์
context IInvocationContext : IInvocationContext ที่มีอยู่

listener ICommandScheduler.IScheduledInvocationListener : ICommandScheduler.IScheduledInvocationListener ที่จะแจ้งให้ทราบ

args String : อาร์กิวเมนต์ของคำสั่ง

ส่งคืน
long

พ่น
ConfigurationException
NoDeviceException

execCommand

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

รับข้อมูลการร้องขอ

public String getInvocationInfo (int invocationId)

ส่งคืนข้อมูลในการเรียกใช้ bu โดยระบุรหัสการเรียกใช้

พารามิเตอร์
invocationId int : รหัสการติดตามของการร้องขอ

ส่งคืน
String ERROR(/String) ที่มีข้อมูลเกี่ยวกับการร้องขอ

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

ส่งคืนรหัสข้อผิดพลาดของการเรียกใช้ครั้งล่าสุดที่เรียกใช้ ส่งคืน 0 (ไม่มีข้อผิดพลาด) หากยังไม่มีการเรียกใช้

ส่งคืน
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

ส่งคืน ERROR(/Throwable) จากการร้องขอล่าสุดที่รัน คืนค่า null ถ้าไม่มีการโยนทิ้ง

ส่งคืน
Throwable

getReadyCommandCount

public int getReadyCommandCount ()

ส่งกลับจำนวนคำสั่งในสถานะพร้อมในคิว

ส่งคืน
int

รับShutdownTimeout

public long getShutdownTimeout ()

ส่งคืน
long

isDeviceInvocationThread

public boolean isDeviceInInvocationThread (ITestDevice device)

คืนค่าจริงหากอุปกรณ์ถูกใช้โดยเธรดการเรียกใช้ที่ใช้งานอยู่

พารามิเตอร์
device ITestDevice

ส่งคืน
boolean

แจ้งเปลี่ยนไฟล์แล้ว

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

พารามิเตอร์
cmdFile File

extraArgs

ลบคำสั่งทั้งหมด

public void removeAllCommands ()

ลบคำสั่งทั้งหมดออกจากตัวกำหนดตารางเวลา

วิ่ง

public void run ()

บล็อกการดำเนินการหลักของเธรดนี้

setClearcutClient

public void setClearcutClient (ClearcutClient client)

ตั้งค่าไคลเอ็นต์ให้รายงานข้อมูลสายรัด

พารามิเตอร์
client ClearcutClient

ควรShutdownOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

คืนค่าจริงหากเราจำเป็นต้องปิดตัวกำหนดตารางเวลาเมื่อเกิดข้อผิดพลาดของคำสั่ง

ส่งคืน
boolean

ปิดตัวลง

public void shutdown (boolean notifyStop)

พยายามปิดตัวกำหนดตารางเวลาคำสั่งอย่างสง่างาม

พารามิเตอร์
notifyStop boolean : ถ้าเป็นจริง แจ้งการร้องขอการปิดระบบ TF

ปิดฮาร์ด

public void shutdownHard (boolean killAdb)

พยายามบังคับปิดตัวกำหนดตารางเวลาคำสั่ง

คล้ายกับ shutdown() แต่จะเลือกปิดการเชื่อมต่อ adb ด้วยเพื่อพยายาม 'สร้างแรงบันดาลใจ' การร้องขอที่กำลังดำเนินอยู่ให้เสร็จเร็วขึ้น

พารามิเตอร์
killAdb boolean

ปิดฮาร์ด

public void shutdownHard ()

พยายามบังคับปิดตัวกำหนดตารางเวลาคำสั่ง เช่นเดียวกับการปิดระบบฮาร์ด (จริง)

ปิดเมื่อว่างเปล่า

public void shutdownOnEmpty ()

คล้ายกับ shutdown() แต่จะรอให้คำสั่งทั้งหมดถูกดำเนินการก่อนที่จะออก

โปรดทราบว่าหากคำสั่งใดๆ อยู่ในโหมดลูป ตัวกำหนดตารางเวลาจะไม่มีวันออก

เริ่ม

public void start ()

เริ่มตัวกำหนดตารางเวลารวมถึงการตั้งค่าการบันทึก การเริ่มต้นของ DeviceManager เป็นต้น

หยุดการร้องขอ

public boolean stopInvocation (ITestInvocation invocation)

หยุดการเรียกใช้งาน

พารามิเตอร์
invocation ITestInvocation

ส่งคืน
boolean เป็นจริงหากการร้องขอหยุดลง มิฉะนั้นจะเป็นเท็จ

หยุดการร้องขอ

public boolean stopInvocation (int invocationId, 
                String cause)

หยุดการเรียกใช้โดยระบุรหัสของมัน

พารามิเตอร์
invocationId int : รหัสการติดตามของการร้องขอ

cause String : สาเหตุของการหยุดการร้องขอ

ส่งคืน
boolean เป็นจริงหากการร้องขอหยุดลง มิฉะนั้นจะเป็นเท็จ

วิธีการป้องกัน

ทำความสะอาด

protected void cleanUp ()

ปิดบันทึกและทำการล้างข้อมูลที่จำเป็นอื่น ๆ ก่อนที่เราจะออก

เปิดเผยเพื่อให้การทดสอบหน่วยสามารถเยาะเย้ย

สร้างการกำหนดค่า

protected IConfiguration createConfiguration (String[] args)

พารามิเตอร์
args String

ส่งคืน
IConfiguration

พ่น
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

ส่งคืน
IInvocationContext

execCommand

protected long execCommand (IInvocationContext context, 
                ICommandScheduler.IScheduledInvocationListener listener, 
                 reservedDevices, 
                String[] args)

พารามิเตอร์
context IInvocationContext

listener ICommandScheduler.IScheduledInvocationListener

reservedDevices

args String

ส่งคืน
long

พ่น
ConfigurationException

รับ ConfigFactory

protected IConfigurationFactory getConfigFactory ()

วิธีการจากโรงงานสำหรับการอ้างอิงถึง IConfigurationFactory

ส่งคืน
IConfigurationFactory IConfigurationFactory ที่จะใช้

getDeviceManagementServer

protected DeviceManagementGrpcServer getDeviceManagementServer ()

ส่งคืน
DeviceManagementGrpcServer

getDeviceManager

protected IDeviceManager getDeviceManager ()

วิธีการจากโรงงานสำหรับการอ้างอิงถึง IDeviceManager

ส่งคืน
IDeviceManager IDeviceManager ที่จะใช้

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

ส่งคืน
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

ส่งคืน
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

ดึง IKeyStoreClient โดยใช้ IKeyStoreFactory ที่ประกาศใน IGlobalConfiguration หรือค่า null หากไม่มีการกำหนด

ส่งคืน
IKeyStoreClient IKeyStoreClient

getTestInvocationManagementServer

protected TestInvocationManagementServer getTestInvocationManagementServer ()

ส่งคืน
TestInvocationManagementServer

เริ่มต้นการบันทึก

protected void initLogging ()

เริ่มต้นบันทึก ddmlib

เปิดเผยเพื่อให้การทดสอบหน่วยสามารถเยาะเย้ย

isShutdown

protected boolean isShutdown ()

ส่งคืน
boolean

กำลังปิดเครื่อง

protected boolean isShuttingDown ()

ส่งคืน
boolean

คำสั่งพร้อมประมวลผล

protected void processReadyCommands (IDeviceManager manager)

พารามิเตอร์
manager IDeviceManager