Để sử dụng trì hoãn, trước tiên bạn phải xác định một lớp có chứa mã bạn muốn chạy:
class MyDeferred implements DeferredTask {
@Override
public void run() {
// Do something interesting
}
};
Cũng giống như bất kỳ lớp serializable khác, bạn có thể có người dân địa phương mà lưu trữ thông tin liên quan về nhiệm vụ. Sau đó, để chạy các nhiệm vụ, nhanh chóng một thể hiện của lớp học của bạn và vượt qua nó để API nhiệm vụ hàng đợi:
MyDeferred task = new MyDeferred();
// Set instance variables etc as you wish
Queue queue = QueueFactory.getDefaultQueue();
queue.add(withPayload(task));
Bạn thậm chí có thể sử dụng các lớp bên trong vô danh cho các nhiệm vụ của bạn, nhưng hãy cẩn thận của những hãy cẩn thận mô tả trong tờ giấy here .
Nguồn
2011-09-22 00:54:12
Các nội dung như thế này có thể được thêm vào tài liệu để ít gây nhầm lẫn hơn không? Tôi đã bỏ lỡ phần mà tôi đã thêm nhiệm vụ vào hàng đợi. Phần cho DeferredTaskQueue trong tài liệu chỉ là một đoạn nhỏ. Hy vọng điều này sẽ giúp, và cảm ơn bạn đã dành thời gian để đăng bài này! +1 :) – jmort253
phương pháp withPaylod là gì? không thể tìm thấy ở bất cứ đâu :( –
'withPayload' là com.google.appengine.api.taskqueue.TaskOptions.Builder.withPayload (DeferredTask) –