0

我們一直在開發一個Android應用程序,它將更新發送給我們的應用程序用戶。更新從管理控制檯(JAVA SWING應用程序)發佈到我們的服務器,然後存儲在數據庫中。一旦數據成功插入到數據庫中,我們希望通過GCM推送通知嚮應用程序的每個用戶發送相同的更新。由於我們希望構建系統以滿足數百萬人的需求,因此我們希望使用多線程(可能使用執行器服務)來推送notifciation.GCM可以一次發送到1000個設備(讓我們稱它爲一堆)。因此,我們需要首先讓一束的列表(每串含有千個gcmids)。所以任務的系列將是分貝 2.創建一堆 名單 1.Insert數據3.Then發送通知到每串GCM推送通知多線程

第3步是我們計劃使用多線程的地方。但是我想在step1本身之後返回,這樣客戶端就可以顯示響應了(JAVA SWING APP應該可以定義爲啓動abt數據是否插入到數據庫中並且它沒有興趣abt成功GCM推)

那麼我該如何設計這樣的東西才能從第1步返回,而下一個2應該在主線程中完成,第3步 應該使用多線程來完成。

回答

0

這可以通過後臺處理或工作進程完成。

有幾種方法可以在後臺執行這種長時間運行的任務,因此請求的客戶端不需要等待。

做這種事情的一些工具是作業/工作者隊列。它可能與Gearman,Redis Resque,Iron MQ(有許多消息隊列可用,可用作jobb隊列)。