- 有沒有辦法保證任務在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. 針對一次性任務延遲執行的隊列建議
- 4. 如何避免任務隊列中的執行延遲
- 5. 執行一個任務所有x秒
- 6. GAE任務隊列奇怪
- 7. 任務隊列執行
- 8. 彈簧多任務延遲執行
- 9. Android ScheduledThreadPoolExecutor立即執行延遲任務
- 10. 任務的STACK_SIZE是否影響任務切換延遲
- 11. GAE任務和執行率
- 12. 谷歌App Engine添加延遲任務隊列產生多個任務
- 13. GAE任務隊列擊中端點API
- 14. GAE隊列任務不記錄錯誤
- 15. GAE/P:爲計數器使用延遲任務和事務
- 16. 用取消執行延遲執行任務
- 17. SQL代理任務 - 執行的隊列
- 18. 使用Task.Factory.StartNew執行任務隊列
- 19. 在執行器服務延遲後安排任務
- 20. Cron作業,任務隊列或延期任務?
- 21. GAE任務隊列保持管理控制檯中「任務正在運行」部分運行的負面任務
- 22. 在任務並行庫:如何推遲Task.TaskFactory.FromAsync任務執行?
- 23. 當通過ExecutorCompletionService執行任務時,任務是否並行化?
- 24. 隊列在Laravel隊列上運行X個下一個任務
- 25. Appengine任務隊列存儲任務計數> 0但沒有任務正在輸入任務隊列
- 26. 任務隊列 - PHP
- 27. 任務隊列java
- 28. 有沒有辦法讓週期性任務有更短的延遲?
- 29. Azure:如何執行啓動任務延遲?
- 30. 在開發中立即執行延遲::作業任務
我更新的標題是代表了實際問題的定義工作被要求。 – 2010-04-02 16:45:08