1
robbielj 2014-12-02 09:27:17 +08:00
不就是cron能完成的事么?
|
3
mkeith 2014-12-02 09:37:39 +08:00
你是怎么申请到的啊?
|
4
fooevr 2014-12-02 09:37:52 +08:00
node有个later
|
5
abelyao OP @mkeith 如果不想自己出材料的话 可以到淘宝上找人弄一个咯,20元不到,不过建议只用做测试,以免以后要补充什么资料,就麻烦了。
|
7
kslr 2014-12-02 10:34:04 +08:00
模拟cron如何,规则就抄cron这样写,再写个解析该规则的。
|
8
jybox 2014-12-02 11:09:06 +08:00
|
10
abelyao OP @kslr 感觉应该不需要这么复杂吧,比如 iPhone 自带的 “提醒事项” 里面有一个选项是 “重复”,默认是只提醒一次,当有设定重复的时候,才会多次提醒,这个难道也要设计得很复杂吗
|
11
holystrike 2014-12-02 11:24:00 +08:00
可以每次提醒的时候预先算好下次应该提醒的时间
如果取消了,就删除预算提醒项 |
12
knightlhs 2014-12-02 11:27:02 +08:00
SAE 本身就支持 cron 的计划任务 关键是你后面的逻辑打算怎么处理
|
13
knightlhs 2014-12-02 11:28:08 +08:00
你可以考虑通过 SAE 的 cron 调度最小检查时间 比如每分钟
然后去看数据库是否有匹配数据 如果有 发提醒 如果没有 就返回 等待下一轮 |
14
abelyao OP @knightlhs
我知道 SAE 支持 cron,我也是打算用 cron 来取出需要发送的消息。 但是总不能只要有一条提醒,就往 cron 里插入一行吧,所以重复提醒这部分还是得由程序来实现,现在就是头疼怎么实现比较合理,并且不会太耗资源。 |
15
abelyao OP @holystrike 就是说,如果这条提醒,是需要重复提醒的,那么每次提醒完,顺便 copy 一份到下一个提醒时间吗?好像也是一个不错的思路
|
16
knightlhs 2014-12-02 11:36:13 +08:00
@abelyao 我的意思是 用 cron 来触发你的 查询接口 接口去查询数据库看看有没有符合条件的数据
不是说 每增加一个任务就增加一个 cron |
17
jianghu52 2014-12-02 11:36:33 +08:00
我是个初级码农,所以我觉得这个好像就是一个flg的事情。不知道是不是我想的太简单了。
没有重复的loop_flg=0,重复一个月的loop_flg=1,依次类推 每过1分钟,读取数据库,当发现有loop_flg = 1的数据的时候,直接计算当前时间与当时设定时间的差就应该可以了。(月份的话其实更简单,要求不高的话就直接去日,要求精确30天的话还得另外算,日,星期,年都可以计算的) 换句话说 就是直接在代码里面多加几个方法,用以处理数据库里面多了loop-flg的数据。 以上。 |
18
abelyao OP @knightlhs 你说的这个我已经在帖子的内容里面说了,就是要这样做,现在的问题是,需要多次触发的重复提醒,要怎么设计怎么实现,比较好
|
20
dongbeta 2014-12-02 11:52:38 +08:00
微信有这个自带功能吧?
|
21
holystrike 2014-12-02 11:53:49 +08:00
@abelyao 对,就这意思
|
22
Rabbit52 2014-12-02 11:58:50 +08:00
我有个邮件提醒,按照邮件主题作为重复判断,然后 SETEX 到 redis 失效时间自定,然后查不到了就发邮件再 SET
|
23
mornlight 2014-12-02 12:52:48 +08:00
诶?现在企业号可以主动对特定用户发消息了?
|