如何管理多个时区的单个cron作业

时间:2017-02-23 10:43:57

标签: cron crontab node-cron

我想为UTC时间创建单个cron作业,并根据用户的时区时间向用户发送通知。

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤向用户的时区发送通知。

  1. 创建Cronjob(根据您的要求设置间隔)
  2. 现在获取所有用户记录。
  3. 获取每个用户的时区。
  4. 现在,将您的日期时间转换为用户的时区。
  5. 将当前时间与用户的时区时间相匹配
  6. 如果时间根据用户的时区匹配,则仅向该用户发送通知。
  7. 已更新,,例如,用户的时区GMT +530,您的服务器的时区GMT为0,那么如果您获得用户的记录,其通知时间是下午4:30,并且同一时间你的服务器时间是11:00 AM。现在cronjob在上午11点运行,根据该用户时区,您需要在当前时间添加5:30小时,所以11:00 AM + 5:30 = 4:30 PM(也要小心日期)是您的用户的时间,在这种情况下,您可以向他发送通知。

    如果您不想为每分钟设置一个cron,那么您可以设置边际分钟进行检查。假设您的cron每10分钟运行一次,那么您必须检查converted_time >= 4:20 and converted_time < 4:30之类的条件。 (请记住此处的>=<组合)