首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定时推送的正确实现方式是什么?

定时推送的正确实现方式是什么?
EN

Stack Overflow用户
提问于 2017-01-19 14:28:16
回答 2查看 1K关注 0票数 1

我在拉拉维尔做项目。我想在不同的时间向不同的用户发送推送通知。就像我可以给一个用户分配一个后续时间,每个用户可以不同。我做了搜索,了解到我们可以使用cron作业的概念,但为此,我需要在每一分钟运行cron作业,以便我可以检查是否到了发送推送通知的时候。是否可以每分钟运行一次cron作业?因为我认为,它会增加服务器负载。

有人能给我这个建议吗,因为我对这个概念还很陌生,我真的不知道在这种情况下该怎么做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-19 14:44:58

Cron作业是可以在任何时间间隔运行的计划任务。根据您的需求,每1分钟运行一次也是可以的。

在这种情况下,您可以提高cron的效率。

如果您继续您的逻辑,则运行文件->检查,以查看是否有任何通知要发送给->。

如果你没有任何东西,你可以使用exit;

这意味着,只有当您有一些事情要做时(我们应该这样做),它才会给服务器带来一些负载。每分钟运行一次cron不会给你带来巨大的服务器负载(同样取决于你如何组织你的代码/ db查询以优化使用)

希望这篇文章能给你一点启发!

票数 1
EN

Stack Overflow用户

发布于 2017-01-19 15:00:21

我们可以根据自己的方便时间在系统中添加cron。使用以下代码添加代码,以便在永久时间向永久用户发送通知。

代码语言:javascript
复制
$loc_cron_min   = 30;
$loc_cron_hour  = 12;
$loc_cron_date  = 20;
$loc_cron_month = 01;

exec('echo -e "`crontab -l`\n'.$loc_cron_min.' '.$loc_cron_hour.' '.$loc_cron_date.' '.$loc_cron_month.' * wget -qO /dev/null http://example.com/cron/sendsnotification.php?userid=1" | crontab -');

我们可以使用php中的以下代码行查看所有调度cron

代码语言:javascript
复制
$output = shell_exec('crontab -l');
    echo $output;

根据上述代码,通知将于2017年1月20日12:30发送。因此,您不需要每分钟都执行cron。您可以在执行成功后删除cron。

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41735164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档