自动通知用户策略

时间:2017-08-25 07:37:15

标签: android ruby-on-rails cron sidekiq

我有一个用户应用程序(Android应用程序)自动通知的案例,

  1. 安装应用程序之后以及之前或之后没有注册。
  2. 注册后,之后不再采取任何行动。
  3. 在提出问题之后,之后没有采取任何行动。
  4. 每个部分都有灵活的时间' (例如1小时后,1天后,3天后等)。

    我是后端开发人员,对于调度程序,我使用sidekiq,cron(随时)并且当前正在使用firebase进行通知。现在我只有两个策略

    1. Sidekiq

      为每个用户投放每个动作。

      问题:

      • 在队列上累积,因为我现在有二十个后台工作。
      • 目前我在每台服务器上使用3(负载均衡器)服务器和sidekiq - redis。当用户在服务器Y安装后注册时,我无法停止/找到一些给sidekiq的工作(例如在服务器X上安装部分工作之后)。
    2. 的Cron

      添加cronjob并每隔1小时设置一次计划以查询每个操作

      问题:

      • 每1小时需要更多查询工作
      • 鉴于灵活的时间,
      • 时间表将不合适。
    3. 我应该使用上面的一个还是需要另一个最好的方法呢?

1 个答案:

答案 0 :(得分:0)

我会把所有的1小时放在sidekiq和1天3天的cron工作中,每天运行一次。