Bộ lập lịch Command

public class CommandScheduler
extends Object implements ICommandScheduler

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


Trình lập lịch biểu để chạy các lệnh TradeFederation trên tất cả thiết bị có sẵn.

Sẽ cố gắng sắp xếp thứ tự ưu tiên chạy các lệnh dựa trên tổng số lần thực thi của các lệnh đó bất cứ lúc nào. ví dụ: các lệnh không chạy nhanh hoặc không thường xuyên sẽ được ưu tiên hơn các lệnh chạy trong thời gian dài.

Chạy vĩnh viễn trong nền cho đến khi tắt.

Tóm tắt

Lớp lồng ghép

enum CommandScheduler.HostState

Enum của các trạng thái khác nhau của máy chủ

Hàm khởi tạo công khai

CommandScheduler()

Tạo CommandScheduler.

Phương thức công khai

boolean addCommand(String[] args)

Thêm một lệnh vào trình lập lịch biểu.

void addCommandFile(String cmdFilePath, extraArgs)

Thêm tất cả các lệnh từ tệp đã cho vào trình lập lịch biểu

void await()

Chờ trình lập lịch biểu bắt đầu chạy, bao gồm cả chờ hoàn tất quá trình chuyển giao từ TF cũ nếu có.

static TradefedDelegator checkDelegation(String[] args)

Tạo một trình uỷ quyền dựa trên dòng lệnh để xem chúng ta có cần uỷ quyền chạy hay không.

void completeHandover()

Thông báo cho trình lập lịch biểu lệnh rằng trình tự chuyển giao được khởi tạo đã hoàn tất và phải khởi động lại trình quản lý từ xa trên cổng mặc định.

static createReleaseMap(IInvocationContext context, Throwable e)

Tạo bản đồ trạng thái thiết bị để thiết bị có thể được phát hành một cách thích hợp.

ISandbox createSandbox()

Tạo ISandbox mà lệnh gọi sẽ sử dụng để chạy.

void displayCommandQueue(PrintWriter printWriter)

Xuất thông tin gỡ lỗi chi tiết về trạng thái của hàng đợi thực thi lệnh.

void displayCommandsInfo(PrintWriter printWriter, String regex)

Xuất danh sách các lệnh hiện tại.

void displayInvocationsInfo(PrintWriter printWriter)

Cho thấy danh sách lệnh gọi hiện tại.

void dumpCommandsXml(PrintWriter printWriter, String regex)

Kết xuất tệp xml mở rộng cho lệnh bằng tất cả Đã chỉ định giá trị Option cho tất cả các lệnh hiện tại.

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

Thực thi trực tiếp lệnh trên thiết bị đã được phân bổ.

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

Phân bổ trực tiếp một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh bằng cách sử dụng IInvocationContext có sẵn.

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

Phân bổ trực tiếp một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh.

CommandFileWatcher getCommandFileWatcher()

Lấy CommandFileWatcher thích hợp cho trình lập lịch biểu này

int getExecutingCommandCount()

Trả về số lượng Lệnh ở trạng thái thực thi.

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

Trả về thông tin trên một bu lệnh gọi chỉ định id gọi.

CommandRunner.ExitCode getLastInvocationExitCode()

Trả về mã lỗi của lệnh gọi gần đây nhất đã chạy.

Throwable getLastInvocationThrowable()

Trả về Throwable từ lệnh gọi gần đây nhất đã chạy.

int getReadyCommandCount()

Trả về số lượng Lệnh ở trạng thái sẵn sàng trong hàng đợi.

long getShutdownTimeout()
void handoverInitiationComplete()

Thông báo cho trình lập lịch biểu lệnh rằng quá trình chuyển giao thiết bị và lệnh đang được sử dụng lần đầu tiên đã hoàn tất và có thể bắt đầu lên lịch hoạt động.

boolean handoverShutdown(int handoverPort)

Bắt đầu một shutdown() và chuyển giao sang một quy trình giao dịch khác trên cùng một máy chủ lưu trữ này.

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

Xoá tất cả các lệnh khỏi trình lập lịch biểu

void run()

Khối thực thi chính của luồng này.

void setClearcutClient(ClearcutClient client)

Thiết lập ứng dụng để báo cáo dữ liệu khai thác

boolean shouldShutdownOnCmdfileError()

Trả về giá trị true nếu chúng ta cần tắt trình lập lịch biểu khi gặp lỗi lệnh

void shutdown()

Cố gắng tắt trình lập lịch biểu lệnh một cách linh hoạt.

void shutdownHard(boolean killAdb)

Cố gắng tắt trình lập lịch biểu lệnh.

void shutdownHard()

Cố gắng tắt trình lập lịch biểu lệnh.

void shutdownOnEmpty()

Tương tự như shutdown(), nhưng sẽ đợi tất cả các lệnh được thực thi trước khi thoát.

void start()

Khởi động trình lập lịch biểu, bao gồm cả việc thiết lập nhật ký, khởi tạo DeviceManager, v.v.

boolean stopInvocation(ITestInvocation invocation)

Dừng một lệnh gọi đang chạy.

boolean stopInvocation(int invocationId, String cause)

Dừng một lệnh gọi đang chạy bằng cách chỉ định mã nhận dạng của lệnh gọi đó.

Phương thức được bảo vệ

void cleanUp()

Đóng nhật ký và thực hiện mọi thao tác dọn dẹp cần thiết khác trước khi chúng ta thoát.

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

Phương thức ban đầu để lấy tham chiếu đến IConfigurationFactory

IDeviceManager getDeviceManager()

Phương thức ban đầu để lấy tham chiếu đến IDeviceManager

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

Tìm nạp IKeyStoreClient bằng IKeyStoreFactory được khai báo trong IGlobalConfiguration hoặc rỗng nếu không có giá trị nào được xác định.

void initLogging()

Khởi chạy nhật ký ddmlib.

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

Chờ cho đến khi tất cả các luồng gọi hoàn tất.

Hàm khởi tạo công khai

Bộ lập lịch Command

public CommandScheduler ()

Tạo CommandScheduler.

Lưu ý: phải gọi start trước khi sử dụng.

Phương thức công khai

addCommand

public boolean addCommand (String[] args)

Thêm một lệnh vào trình lập lịch biểu.

Lệnh về cơ bản là một thực thể của cấu hình cần chạy cũng như các đối số liên quan.

Nếu "--help" Đối số được chỉ định văn bản trợ giúp cho cấu hình sẽ được xuất sang stdout. Nếu không, cấu hình này sẽ được thêm vào hàng đợi để chạy.

Tham số
args String: các đối số cấu hình.

Giá trị trả về
boolean true nếu đã thêm lệnh thành công

Gửi
ConfigurationException

addCommandFile

public void addCommandFile (String cmdFilePath, 
                 extraArgs)

Thêm tất cả các lệnh từ tệp đã cho vào trình lập lịch biểu

Tham số
cmdFilePath String: đường dẫn hệ thống tệp của tệp comand

extraArgs : ERROR(/List) trong số String đối số để thêm vào mỗi lệnh được phân tích cú pháp khỏi tệp. Có thể để trống nhưng không được để trống.

Gửi
ConfigurationException

đang chờ

public void await ()

Chờ trình lập lịch biểu bắt đầu chạy, bao gồm cả chờ hoàn tất quá trình chuyển giao từ TF cũ nếu có.

uỷ quyền kiểm tra

public static TradefedDelegator checkDelegation (String[] args)

Tạo một trình uỷ quyền dựa trên dòng lệnh để xem chúng ta có cần uỷ quyền chạy hay không.

Tham số
args String

Giá trị trả về
TradefedDelegator

Gửi
ConfigurationException

hoàn tất quá trình chuyển giao

public void completeHandover ()

Thông báo cho trình lập lịch biểu lệnh rằng trình tự chuyển giao được khởi tạo đã hoàn tất và phải khởi động lại trình quản lý từ xa trên cổng mặc định.

createReleaseMap

public static  createReleaseMap (IInvocationContext context, 
                Throwable e)

Tạo bản đồ trạng thái thiết bị để thiết bị có thể được phát hành một cách thích hợp.

Tham số
context IInvocationContext

e Throwable

Giá trị trả về

createSandbox

public ISandbox createSandbox ()

Tạo ISandbox mà lệnh gọi sẽ sử dụng để chạy.

Giá trị trả về
ISandbox

Hàng đợi displayCommand

public void displayCommandQueue (PrintWriter printWriter)

Xuất thông tin gỡ lỗi chi tiết về trạng thái của hàng đợi thực thi lệnh.

displayCommandsInfo

public void displayCommandsInfo (PrintWriter printWriter, 
                String regex)

Xuất danh sách các lệnh hiện tại.

Tham số
printWriter PrintWriter: ERROR(/PrintWriter) để xuất dữ liệu.

regex String: biểu thức chính quy cần được so khớp để được đã in. Nếu giá trị rỗng thì tất cả lệnh sẽ được in.

displayInvocationsInfo

public void displayInvocationsInfo (PrintWriter printWriter)

Cho thấy danh sách lệnh gọi hiện tại.

Tham số
printWriter PrintWriter: ERROR(/PrintWriter) để xuất dữ liệu.

dumpCommandsXml

public void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Kết xuất tệp xml mở rộng cho lệnh bằng tất cả Đã chỉ định giá trị Option cho tất cả các lệnh hiện tại.

Tham số
printWriter PrintWriter: ERROR(/PrintWriter) để xuất trạng thái.

regex String: biểu thức chính quy cần được so khớp để có xml được kết xuất. Nếu giá trị rỗng, mọi lệnh sẽ được kết xuất.

execCommand

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

Thực thi trực tiếp lệnh trên thiết bị đã được phân bổ.

Tham số
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần nhận thông báo

device ITestDevice: ITestDevice để sử dụng

args String: đối số lệnh

Gửi
ConfigurationException

execCommand

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

Phân bổ trực tiếp một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh bằng cách sử dụng IInvocationContext có sẵn.

Tham số
context IInvocationContext: một IInvocationContext hiện có.

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần nhận thông báo

args String: đối số lệnh

Gửi
ConfigurationException
NoDeviceException

execCommand

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

Phân bổ trực tiếp một thiết bị và thực thi một lệnh mà không cần thêm thiết bị đó vào hàng đợi lệnh.

Tham số
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần nhận thông báo

args String: đối số lệnh

Gửi
ConfigurationException
NoDeviceException

getCommandFileWatcher

public CommandFileWatcher getCommandFileWatcher ()

Lấy CommandFileWatcher thích hợp cho trình lập lịch biểu này

Giá trị trả về
CommandFileWatcher

getExecutingCommandCount

public int getExecutingCommandCount ()

Trả về số lượng Lệnh ở trạng thái thực thi.

Giá trị trả về
int

getTrạng thái máy chủ lưu trữ

public CommandScheduler.HostState getHostState ()

Giá trị trả về
CommandScheduler.HostState

getInvocationInfo

public String getInvocationInfo (int invocationId)

Trả về thông tin trên một bu lệnh gọi chỉ định id gọi.

Tham số
invocationId int: mã theo dõi của lệnh gọi.

Giá trị trả về
String String chứa thông tin về lệnh gọi.

getLastInvocationExitCode

public CommandRunner.ExitCode getLastInvocationExitCode ()

Trả về mã lỗi của lệnh gọi gần đây nhất đã chạy. Trả về 0 (không có lỗi) nếu chưa có lệnh gọi nào chạy.

Giá trị trả về
CommandRunner.ExitCode

getLastInvocationThrowable

public Throwable getLastInvocationThrowable ()

Trả về Throwable từ lệnh gọi gần đây nhất đã chạy. Trả về giá trị rỗng nếu không có lớp throwable.

Giá trị trả về
Throwable

getSẵn LệnhCount

public int getReadyCommandCount ()

Trả về số lượng Lệnh ở trạng thái sẵn sàng trong hàng đợi.

Giá trị trả về
int

getoffHết thời gian chờ

public long getShutdownTimeout ()

Giá trị trả về
long

quá trình chuyển giao hoàn tất

public void handoverInitiationComplete ()

Thông báo cho trình lập lịch biểu lệnh rằng quá trình chuyển giao thiết bị và lệnh đang được sử dụng lần đầu tiên đã hoàn tất và có thể bắt đầu lên lịch hoạt động.

tắt bàn giao

public boolean handoverShutdown (int handoverPort)

Bắt đầu một shutdown() và chuyển giao sang một quy trình giao dịch khác trên cùng một máy chủ lưu trữ này.

Bộ lập lịch sẽ thông báo cho quy trình trao đổi từ xa đang nghe trên cổng thiết bị được giải phóng đó khi chúng trở nên khả dụng.

Tham số
handoverPort int

Giá trị trả về
boolean true nếu quá trình bắt đầu bàn giao thành công, false nếu không

notificationsFileChanged

public void notifyFileChanged (File cmdFile, 
                 extraArgs)

Tham số
cmdFile File

extraArgs

removeAllCommands

public void removeAllCommands ()

Xoá tất cả các lệnh khỏi trình lập lịch biểu

chạy

public void run ()

Khối thực thi chính của luồng này.

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Thiết lập ứng dụng để báo cáo dữ liệu khai thác

Tham số
client ClearcutClient

nênTắtOnCmdfileError

public boolean shouldShutdownOnCmdfileError ()

Trả về giá trị true nếu chúng ta cần tắt trình lập lịch biểu khi gặp lỗi lệnh

Giá trị trả về
boolean

tắt máy

public void shutdown ()

Cố gắng tắt trình lập lịch biểu lệnh một cách linh hoạt.

Xoá các lệnh đang chờ kiểm thử và yêu cầu tất cả lệnh gọi đang diễn ra tắt một cách dễ dàng.

Sau khi gọi quá trình tắt, vòng lặp chính của trình lập lịch biểu sẽ đợi tất cả các lệnh gọi đang diễn ra để hoàn tất trước khi thoát hoàn toàn.

CANNOT TRANSLATE

public void shutdownHard (boolean killAdb)

Cố gắng tắt trình lập lịch biểu lệnh.

Tương tự như shutdown(), nhưng cũng sẽ tuỳ ý loại bỏ kết nối adb, trong một cố gắng 'truyền cảm hứng' đang thực hiện lệnh gọi để hoàn tất nhanh hơn.

Tham số
killAdb boolean

CANNOT TRANSLATE

public void shutdownHard ()

Cố gắng tắt trình lập lịch biểu lệnh. Tương tự như TẮTHard(true).

tắt máy khi trống

public void shutdownOnEmpty ()

Tương tự như shutdown(), nhưng sẽ đợi tất cả các lệnh được thực thi trước khi thoát.

Lưu ý rằng nếu có bất kỳ lệnh nào ở chế độ lặp lại, thì trình lập lịch biểu sẽ không bao giờ thoát.

start

public void start ()

Khởi động trình lập lịch biểu, bao gồm cả việc thiết lập nhật ký, khởi tạo DeviceManager, v.v.

dừngGọi

public boolean stopInvocation (ITestInvocation invocation)

Dừng một lệnh gọi đang chạy.

Tham số
invocation ITestInvocation

Giá trị trả về
boolean true nếu lệnh gọi bị dừng, false nếu không gọi

dừngGọi

public boolean stopInvocation (int invocationId, 
                String cause)

Dừng một lệnh gọi đang chạy bằng cách chỉ định mã nhận dạng của lệnh gọi đó.

Tham số
invocationId int: mã theo dõi của lệnh gọi.

cause String: nguyên nhân khiến lệnh gọi dừng hoạt động.

Giá trị trả về
boolean true nếu lệnh gọi bị dừng, false nếu không gọi

Phương thức được bảo vệ

dọn dẹp

protected void cleanUp ()

Đóng nhật ký và thực hiện mọi thao tác dọn dẹp cần thiết khác trước khi chúng ta thoát.

Được hiển thị để kiểm thử đơn vị có thể mô phỏng.

createConfiguration

protected IConfiguration createConfiguration (String[] args)

Tham số
args String

Giá trị trả về
IConfiguration

Gửi
ConfigurationException

createInvocationContext

protected IInvocationContext createInvocationContext ()

Giá trị trả về
IInvocationContext

getConfigFactory

protected IConfigurationFactory getConfigFactory ()

Phương thức ban đầu để lấy tham chiếu đến IConfigurationFactory

Giá trị trả về
IConfigurationFactory IConfigurationFactory để sử dụng

getDeviceManager

protected IDeviceManager getDeviceManager ()

Phương thức ban đầu để lấy tham chiếu đến IDeviceManager

Giá trị trả về
IDeviceManager IDeviceManager để sử dụng

getFeatureServer

protected TradefedFeatureServer getFeatureServer ()

Giá trị trả về
TradefedFeatureServer

getHostOptions

protected IHostOptions getHostOptions ()

Giá trị trả về
IHostOptions

getKeyStoreClient

protected IKeyStoreClient getKeyStoreClient ()

Tìm nạp IKeyStoreClient bằng IKeyStoreFactory được khai báo trong IGlobalConfiguration hoặc rỗng nếu không có giá trị nào được xác định.

Giá trị trả về
IKeyStoreClient Ứng dụng kho khoá IKey

initLogging

protected void initLogging ()

Khởi chạy nhật ký ddmlib.

Được hiển thị để kiểm thử đơn vị có thể mô phỏng.

đang tắt

protected boolean isShutdown ()

Giá trị trả về
boolean

đang tắt

protected boolean isShuttingDown ()

Giá trị trả về
boolean

processSẵn sàngs Commands

protected void processReadyCommands (IDeviceManager manager)

Tham số
manager IDeviceManager

WaitForAllInvocationThreads

protected void waitForAllInvocationThreads ()

Chờ cho đến khi tất cả các luồng gọi hoàn tất.