[问题] (已解决)长时间的 notification 排程方案

楼主: Neisseria (Neisseria)   2017-03-24 10:02:55
嗨 各位板友好
小弟有一个和排程相关的使用者情境,想询问大家
我有一个 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 的机制也多了解一些
感谢各位大大的回应
作者: johnlinvc (阿翔)   2017-03-24 12:30:00
AcitveJob + Sidekiq
作者: tonytonyjan (南洋大兜虫)   2017-03-24 18:26:00
二和三应该算同一个解法吧
作者: david50407 (Davy)   2017-03-24 20:42:00
2 3 应该是一样的解 挂一个daemon一直去问db有没有事情要做
作者: rayway30419 (RayWay)   2017-03-25 13:58:00
Sidekick+1 有retry机制,redis可以persistent

Links booklink

Contact Us: admin [ a t ] ucptt.com