ICommandScheduler

public interface ICommandScheduler

com.android.tradefed.command.ICommandScheduler


Một trình lập lịch để chạy các lệnh TradeFederation.

Tóm tắt

Lớp lồng ghép

interface ICommandScheduler.IScheduledInvocationListener

Trình nghe cho các sự kiện gọi khi quá trình gọi hoàn tất. 

Phương thức công khai

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

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

abstract void addCommandFile(String cmdFile, extraArgs)

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

abstract void await()

Đợi trình lập lịch bắt đầu chạy, bao gồm cả việc đợi quá trình chuyển giao từ TF cũ hoàn tất (nếu có).

abstract 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.

abstract void displayCommandsInfo(PrintWriter printWriter, String regex)

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

abstract void displayInvocationsInfo(PrintWriter printWriter)

Hiển thị danh sách các lệnh gọi hiện tại.

abstract void dumpCommandsXml(PrintWriter printWriter, String regex)

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

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

Trực tiếp phân bổ 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 hiện có.

abstract long 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.

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

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

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

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

abstract CommandFileWatcher getCommandFileWatcher()

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

abstract int getExecutingCommandCount()

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

abstract String getInvocationInfo(int invocationId)

Trả về thông tin về một lệnh gọi bằng cách chỉ định mã nhận dạng lệnh gọi.

abstract CommandRunner.ExitCode getLastInvocationExitCode()

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

abstract Throwable getLastInvocationThrowable()

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

abstract int getReadyCommandCount()

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

abstract boolean isDeviceInInvocationThread(ITestDevice device)

Trả về true nếu thiết bị được dùng bởi một luồng gọi đang hoạt động.

abstract void join()

Chờ trình lập lịch hoàn tất.

abstract void join(long millis)

Đợi trình lập lịch hoàn tất hoặc hết thời gian chờ sau khoảng thời gian được chỉ định theo mili giây.

abstract void removeAllCommands()

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

abstract void setClearcutClient(ClearcutClient client)

Đặt ứng dụng để báo cáo dữ liệu harness

default void setMaxPollTime(long polling)
default void setPrintSchedulingWarning(boolean print)
abstract boolean shouldShutdownOnCmdfileError()

Trả về true nếu chúng ta cần tắt trình lập lịch khi có lỗi lệnh

default void shutdown()

Cố gắng tắt trình lập lịch lệnh một cách thích hợp.

abstract void shutdown(boolean notifyStop)

Cố gắng tắt trình lập lịch lệnh một cách thích hợp.

abstract void shutdownHard(boolean killAdb)

Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép.

abstract void shutdownHard()

Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép.

abstract void shutdownOnEmpty()

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

abstract void start()

Bắt đầu ICommandScheduler.

abstract 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 đó.

default boolean stopInvocation(int invocationId)

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 đó.

abstract boolean stopInvocation(ITestInvocation invocation)

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

default void stopScheduling()

Dừng lên lịch và chấp nhận các bài kiểm thử mới nhưng không dừng Tradefed.

Phương thức công khai

addCommand

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

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

Về cơ bản, lệnh là một phiên bản của cấu hình để chạy và các đối số được liên kết của cấu hình đó.

Nếu đối số "--help" được chỉ định, văn bản trợ giúp cho cấu hình sẽ được xuất ra stdout. Nếu không, cấu hình 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ề
Pair<Boolean, Integer> Một cặp giá trị, giá trị đầu tiên là giá trị Boolean true nếu lệnh được thêm thành công. Giá trị thứ hai là mã theo dõi lệnh đã biết(giá trị không âm) nếu lệnh được thêm thành công, trả về 0 khi lệnh được thêm cho tất cả các thiết bị, nếu không thì trả về -1.

Gửi
ConfigurationException nếu không phân tích cú pháp được lệnh

addCommandFile

public abstract void addCommandFile (String cmdFile, 
                 extraArgs)

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

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

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

Gửi
ConfigurationException nếu không phân tích cú pháp được tệp lệnh

Xem thêm:

await

public abstract void await ()

Đợi trình lập lịch bắt đầu chạy, bao gồm cả việc đợi quá trình chuyển giao từ TF cũ hoàn tất (nếu có).

displayCommandQueue

public abstract 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 abstract 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 ra.

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

displayInvocationsInfo

public abstract void displayInvocationsInfo (PrintWriter printWriter)

Hiển thị danh sách các lệnh gọi hiện tại.

Tham số
printWriter PrintWriter: ERROR(/PrintWriter) để xuất ra.

dumpCommandsXml

public abstract void dumpCommandsXml (PrintWriter printWriter, 
                String regex)

Kết xuất tệp xml đã mở rộng cho lệnh với tất cả các giá trị Option được chỉ định 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 mà các lệnh phải khớp để tệp xml được kết xuất. Nếu là giá trị rỗng, thì tất cả các lệnh sẽ được kết xuất.

execCommand

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

Trực tiếp phân bổ 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 hiện có.

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

listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần được thông báo

args String: đối số lệnh

Giá trị trả về
long

Gửi
ConfigurationException nếu lệnh không hợp lệ
NoDeviceException nếu không có thiết bị để sử dụng

execCommand

public abstract long 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 được thông báo

args String: đối số lệnh

Giá trị trả về
long Mã lệnh gọi của lệnh đã lên lịch.

Gửi
ConfigurationException nếu lệnh không hợp lệ
NoDeviceException nếu không có thiết bị để sử dụng

execCommand

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

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

Tham số
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần được thông báo

device ITestDevice: ITestDevice cần sử dụng

args String: đối số lệnh

Giá trị trả về
long Mã lệnh gọi của lệnh đã lên lịch.

Gửi
ConfigurationException nếu lệnh không hợp lệ

execCommand

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

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

Tham số
listener ICommandScheduler.IScheduledInvocationListener: ICommandScheduler.IScheduledInvocationListener cần được thông báo

devices : ERROR(/List) cần sử dụng

args String: đối số lệnh

Giá trị trả về
long Mã lệnh gọi của lệnh đã lên lịch.

Gửi
ConfigurationException nếu lệnh không hợp lệ

getCommandFileWatcher

public abstract CommandFileWatcher getCommandFileWatcher ()

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

Giá trị trả về
CommandFileWatcher

getExecutingCommandCount

public abstract int getExecutingCommandCount ()

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

Giá trị trả về
int

getInvocationInfo

public abstract String getInvocationInfo (int invocationId)

Trả về thông tin về một lệnh gọi bằng cách chỉ định mã nhận dạng lệnh gọi.

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

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

getLastInvocationExitCode

public abstract 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 abstract 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ó throwable nào.

Giá trị trả về
Throwable

getReadyCommandCount

public abstract 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

isDeviceInInvocationThread

public abstract boolean isDeviceInInvocationThread (ITestDevice device)

Trả về true nếu thiết bị được dùng bởi một luồng gọi đang hoạt động.

Tham số
device ITestDevice

Giá trị trả về
boolean

tham gia

public abstract void join ()

Chờ trình lập lịch hoàn tất.

Xem thêm:

tham gia

public abstract void join (long millis)

Đợi trình lập lịch hoàn tất hoặc hết thời gian chờ sau khoảng thời gian được chỉ định theo mili giây.

Tham số
millis long

Xem thêm:

removeAllCommands

public abstract void removeAllCommands ()

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

setClearcutClient

public abstract void setClearcutClient (ClearcutClient client)

Đặt ứng dụng để báo cáo dữ liệu harness

Tham số
client ClearcutClient

setMaxPollTime

public void setMaxPollTime (long polling)

Tham số
polling long

setPrintSchedulingWarning

public void setPrintSchedulingWarning (boolean print)

Tham số
print boolean

shouldShutdownOnCmdfileError

public abstract boolean shouldShutdownOnCmdfileError ()

Trả về true nếu chúng ta cần tắt trình lập lịch khi có lỗi lệnh

Giá trị trả về
boolean

tắt

public void shutdown ()

Cố gắng tắt trình lập lịch lệnh một cách thích hợp.

Xoá các lệnh đang chờ được kiểm thử và yêu cầu tất cả các lệnh đang được thực thi tắt một cách thích hợp.

Sau khi lệnh tắt được gọi, vòng lặp chính của trình lập lịch 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.

tắt

public abstract void shutdown (boolean notifyStop)

Cố gắng tắt trình lập lịch lệnh một cách thích hợp.

Tham số
notifyStop boolean: nếu đúng, sẽ thông báo các lệnh gọi tắt TF.

shutdownHard

public abstract void shutdownHard (boolean killAdb)

Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép.

Tương tự như shutdown(), nhưng cũng có thể loại bỏ tuỳ chọn kết nối adb, trong nỗ lực "thúc đẩy" các lệnh gọi đang diễn ra hoàn tất nhanh hơn.

Tham số
killAdb boolean

shutdownHard

public abstract void shutdownHard ()

Cố gắng tắt trình lập lịch lệnh một cách cưỡng ép. Tương tự như shutdownHard(true).

shutdownOnEmpty

public abstract void shutdownOnEmpty ()

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

Xin 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 sẽ không bao giờ thoát.

start

public abstract void start ()

Bắt đầu ICommandScheduler.

Phải được gọi trước khi gọi các phương thức khác.

Sẽ chạy cho đến khi shutdown() được gọi. xem Thread.start().

stopInvocation

public abstract 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.

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

Gửi
UnsupportedOperationException nếu quá trình triển khai không hỗ trợ tính năng này

stopInvocation

public boolean stopInvocation (int invocationId)

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

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

Gửi
UnsupportedOperationException nếu quá trình triển khai không hỗ trợ tính năng này

stopInvocation

public abstract 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
UnsupportedOperationException nếu quá trình triển khai không hỗ trợ điều này

stopScheduling

public void stopScheduling ()

Dừng lên lịch và chấp nhận các bài kiểm thử mới nhưng không dừng Tradefed. Điều này nhằm mục đích cho phép tắt theo hai bước, trong đó trước tiên chúng ta sẽ rút hết tất cả các kiểm thử đang chạy, sau đó chấm dứt quy trình Tradefed.