- 有沒有辦法保證任務在X分鐘內(或X分鐘後)執行? (費率意味着任務之間的時間間隔,但第一項任務的情況如何,第一項任務是否會在「費率」時間之後開始)
9
A
回答
4
1
谷歌已經更新了這部分的api(see here)。現在,您可以在第三個參數發送包含下列選項PushTask:
- 「方法」:串一「POST」的,「GET」,「HEAD」,「PUT」,「刪除」。默認值:'POST'。
- 'name':string任務的名稱。默認爲''表示服務將生成一個唯一的任務名稱。
- 'delay_seconds':float執行任務之前等待的最短時間。默認值:零。
- 'header':string任務執行時發送的附加頭文件。
2
在PHP
$task = new PushTask(
'/some/callback',
['param1' => $param1, 'param2' => $param2, 'param3' => $param3],
['name'=>'EmailTask', 'method'=>'POST', 'delay_seconds'=>30]
);
或者更簡單(這是在默認情況下POST)
$task = new PushTask(
'/some/callback',
['param1' => $param1, 'param2' => $param2, 'param3' => $param3],
['delay_seconds'=>30]
);
+0
更多信息請訪問:https://cloud.google.com/appengine/docs/standard/php/refdocs/classes/google.appengine.api.taskqueue.PushTask – lifeofguenter 2017-06-29 10:46:52
1
每@Peter Recore的評論,在add()
的countdown
字段是「時間,以秒爲這個任務應該執行的將來,默認爲零。「
文檔: https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.taskqueue
0
使用任務隊列API
public class Enqueue extends HttpServlet {
private static final Logger log = Logger.getLogger(Enqueue.class.getName());
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String param1= request.getParameter("param1");
String param2= request.getParameter("param2");
String time = request.getParameter("time");
int timer = Integer.parseInt(time) * 1000;//sec to millisec
log.info("Executing in "+ timer+" seconds");
// Add the task to the default queue.
// Execute in 5 seconds
Queue queue = QueueFactory.getDefaultQueue();
queue.add(TaskOptions.Builder.withUrl("/index1").param("param1", param1)
.param("param2", param2)
.countdownMillis(time));
response.sendRedirect("/");
}
}
現在指數1級
public class Index1 extends HttpServlet {
private static final Logger log = Logger.getLogger(Index1.class.getName());
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
String param1= req.getParameter("param1");
String param2= req.getParameter("param2");
log.info("Worker processing " + param1);
/*Define job to be executed*/
}
}
相關問題
- 1. GAE任務隊列如何使延遲?
- 2. GAE強制推送任務隊列執行下一個任務
- 3. 使用python的GAE中的延期任務的任務隊列
- 4. 如何避免任務隊列中的執行延遲
- 5. 針對一次性任務延遲執行的隊列建議
- 6. 執行一個任務所有x秒
- 7. 有沒有辦法將任務放回執行者隊列
- 8. GAE任務隊列奇怪
- 9. 任務隊列執行
- 10. Android ScheduledThreadPoolExecutor立即執行延遲任務
- 11. 彈簧多任務延遲執行
- 12. 延遲然後執行任務
- 13. Appengine延遲任務限制爲60秒
- 14. 任務的STACK_SIZE是否影響任務切換延遲
- 15. C++延遲任務
- 16. GAE任務和執行率
- 17. 是否可以在Google App Engine任務隊列中執行任務?
- 18. 如果條件不符合,是否有辦法延遲工作任務?
- 19. 是否有任務隊列系統允許任務依賴於其他任務?
- 20. 推遲執行任務
- 21. 谷歌App Engine添加延遲任務隊列產生多個任務
- 22. GAE隊列任務不記錄錯誤
- 23. GAE Python拉任務隊列示例
- 24. GAE任務隊列擊中端點API
- 25. 如何識別GAE拉隊列中是否已存在任務?
- 26. GAE/P:爲計數器使用延遲任務和事務
- 27. 隊列任務重新執行
- 28. SQL代理任務 - 執行的隊列
- 29. 使用Task.Factory.StartNew執行任務隊列
- 30. 用取消執行延遲執行任務
我更新的標題是代表了實際問題的定義工作被要求。 – 2010-04-02 16:45:08