通过timezone php发送cron作业通知

Ann*_*yan 2 php cron timezone timezone-offset

我想编写一个脚本,每天下午2点向用户的手机发送推送通知.但是有来自世界各地的用户,所以我需要根据特定用户的时区发送该通知,我将其保存在DB中,如"GMT + 4".

我需要通过Cron工作来做到这一点.我从来没有使用它,所以我不知道如何编写该脚本并使其在PHP中工作.有人可以帮帮我吗?

Abe*_*sey 5

一个非常简单的方法是每1分钟让一个cron-job调用一个PHP脚本,并让它检查数据库中是否需要完成的事情.如果现在需要做某事(),那就去做吧.

crontab中你可以使用这样的东西,

* * * * *   /usr/bin/php /path/to/my/script.php
Run Code Online (Sandbox Code Playgroud)

script.php可以是这样的

<?php
$ts = time();

// Run for up to 50 seconds
while($ts + 50 > time())
{
   ... SELECT id, time FROM Table WHERE time <= timeFromGMT(GMTvalue) ...
   if(returns a row){
     Send notification;
     Set a flag that notification is send;
   }
   sleep(5);       
} 
Run Code Online (Sandbox Code Playgroud)

注意:使用一些锁定机制可以同时防止多个进程.