Ann*_*yan 2 php cron timezone timezone-offset
我想编写一个脚本,每天下午2点向用户的手机发送推送通知.但是有来自世界各地的用户,所以我需要根据特定用户的时区发送该通知,我将其保存在DB中,如"GMT + 4".
我需要通过Cron工作来做到这一点.我从来没有使用它,所以我不知道如何编写该脚本并使其在PHP中工作.有人可以帮帮我吗?
一个非常简单的方法是每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)
注意:使用一些锁定机制可以同时防止多个进程.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |