[問題] (已解決)長時間的 notification 排程方案

看板Ruby作者 (Neisseria)時間7年前 (2017/03/24 10:02), 7年前編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
嗨 各位板友好 小弟有一個和排程相關的使用者情境,想詢問大家 我有一個 survey-like app (跨平台框架做的,有 Android 和 iOS) 現在想加一個 notification 的新功能 假設使用者在做完某個 survey 後 此 app 會偵測此事件 在兩個星期後通知使用者再做一次 survey 當然 使用者可以自由選擇要不要開啟通知 要不然使用者應該會怒刪此 app 目前傾向於用 push notification 的機制 在 server 上做 比較容易處理不同平台間的差異 想到的方案有幾個,但都有一些困難點: 1. cron on Linux: job 存在遠端主機上,即使 service failure 後仍會儲存資訊 但對於多使用者似乎處理不佳 2. delayed_jobs (Ruby gem): job 存在 persistent 資料庫中,若 service failure 後仍可回復 但不知道能不能處理重覆性的工作 目前感覺最有希望的方案 3. Resque (Ruby gem): job 存在 Redis 資料庫中,擔心 service failure 後 job 會消失 不確定能否處理重覆性的工作 第二備選方案 當然 其實已經有一些現有的方案 但沒有直接選用這些方案 有一些考量 有些方案會收集使用者資訊 而我不希望我的 app 使用者的一些資訊流到第三方手上 有些方案則是在過一定數量的使用者後收費過高 當然 自己重造輪子很笨 Orz 同時也在找一些現有的方案 如果有不錯的方案 不需要寫很多程式碼 也歡迎提供 [Update] 後來發現我的需求用 local notification 就可以解決 冏rz 這也是好事啦 不用維護 server 會比較輕鬆 這幾天查一查對 notification 的機制也多了解一些 感謝各位大大的回應 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.129.209 ※ 文章網址: https://www.ptt.cc/bbs/Ruby/M.1490320977.A.859.html ※ 編輯: Neisseria (175.182.129.209), 03/24/2017 10:04:35

03/24 12:30, , 1F
AcitveJob + Sidekiq
03/24 12:30, 1F
這看起來還不錯 換 backend 不用重寫程式碼 或許這是一個學 Rails 的好時機 (茶) ※ 編輯: Neisseria (59.115.83.75), 03/24/2017 15:10:18

03/24 18:26, , 2F
二和三應該算同一個解法吧
03/24 18:26, 2F

03/24 20:42, , 3F
2 3 應該是一樣的解 掛一個daemon一直去問db有沒有
03/24 20:42, 3F

03/24 20:42, , 4F
事情要做
03/24 20:42, 4F
因為一種是用 relational database 一種是用 in-memory database 所以才會列成兩種不同情形 的確在運作方式上有許多相似的點 ※ 編輯: Neisseria (59.115.83.75), 03/25/2017 11:41:07

03/25 13:58, , 5F
Sidekick+1 有retry機制,redis可以persistent
03/25 13:58, 5F
感謝回應 ※ 編輯: Neisseria (175.182.167.118), 03/25/2017 19:25:10 ※ 編輯: Neisseria (175.182.167.118), 03/25/2017 19:27:45
文章代碼(AID): #1Or7vHXP (Ruby)
文章代碼(AID): #1Or7vHXP (Ruby)