Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的提醒系统_Php_Mysql - Fatal编程技术网

PHP中的提醒系统

PHP中的提醒系统,php,mysql,Php,Mysql,我将在周末用PHP创建一个小型提醒系统。计划是 用户注册 用户使用一个简单的表单创建提醒和TODO,输入提醒名称、描述和时间等详细信息。此信息存储在MySQL数据库中 脚本检查数据库中是否有应发送的提醒,并将其发送给用户电子邮件和其他操作 检查/发送脚本的最佳方式是什么?或者有人可以提出其他想法吗?谢谢。您可以在服务器上运行cronjob,每x分钟运行一次。每次运行时,它都会在当前时间检查数据库中的提醒,然后通过电子邮件发送给发出提醒的用户。您将在服务器上运行cronjob,每x分钟运行一次。每

我将在周末用PHP创建一个小型提醒系统。计划是

  • 用户注册
  • 用户使用一个简单的表单创建提醒和TODO,输入提醒名称、描述和时间等详细信息。此信息存储在MySQL数据库中
  • 脚本检查数据库中是否有应发送的提醒,并将其发送给用户电子邮件和其他操作

  • 检查/发送脚本的最佳方式是什么?或者有人可以提出其他想法吗?谢谢。

    您可以在服务器上运行cronjob,每x分钟运行一次。每次运行时,它都会在当前时间检查数据库中的提醒,然后通过电子邮件发送给发出提醒的用户。

    您将在服务器上运行cronjob,每x分钟运行一次。每次运行时,它都会在当前时间检查数据库中的提醒,然后通过电子邮件发送给发出提醒的用户。

    如果服务器支持cron作业,请使用它们

  • 创建您的php脚本,检查并发送电子邮件给相应的用户
  • 创建一个cron作业以使用如下语法运行该脚本:

    php-q/home/serverpath/script/file.php


  • 如果您的服务器支持cron作业,那么CPanel确实有一个用于cron作业的部分

  • 创建您的php脚本,检查并发送电子邮件给相应的用户
  • 创建一个cron作业以使用如下语法运行该脚本:

    php-q/home/serverpath/script/file.php


  • CPanel确实有一个用于cronjobs的部分

    建议您在此实现中也构建一个队列系统,这样您一分钟只发送100个左右的消息,以防止在用户群增长到较大规模时出现严重问题。因此,cron将检查通知并将其添加到队列表中。然后,同一个cron还可以检查队列系统,抓取队列中的下一个100,将它们发送并发射出去。因此,如果我在SQL语句的末尾添加LIMIT 100,这会像队列系统或限制系统一样工作吗?这将充当限制系统。我想你的意思是限制100个用户发送电子邮件。如果是这种情况,那么101岁以上的用户将永远不会收到电子邮件。相反,您需要将所有用户添加到队列(即另一个表)。cron作业有两个任务:将所有用户添加到队列中,然后向队列中最老的100个用户发送提醒消息。然后从队列中删除这100个。从技术上讲,你可以,但是你会使用队列系统来实现可伸缩性,除非这不是你关心的问题。考虑如果您的用户通知系统有数以百万计的行来评估会发生什么。您可以单独限制该评估,并且您的队列系统作为一个独立的cron作业,无论通知系统的操作如何,它仍然可以运行。这真的是你的电话-你知道你的系统,我只是在转述我们公司如何设置这种东西。建议你也在这个实现中构建一个队列系统,这样你一分钟只发送100个左右,以防止在你的用户群扩大到一个大规模时出现严重问题。因此,cron将检查通知并将其添加到队列表中。然后,同一个cron还可以检查队列系统,抓取队列中的下一个100,将它们发送并发射出去。因此,如果我在SQL语句的末尾添加LIMIT 100,这会像队列系统或限制系统一样工作吗?这将充当限制系统。我想你的意思是限制100个用户发送电子邮件。如果是这种情况,那么101岁以上的用户将永远不会收到电子邮件。相反,您需要将所有用户添加到队列(即另一个表)。cron作业有两个任务:将所有用户添加到队列中,然后向队列中最老的100个用户发送提醒消息。然后从队列中删除这100个。从技术上讲,你可以,但是你会使用队列系统来实现可伸缩性,除非这不是你关心的问题。考虑如果您的用户通知系统有数以百万计的行来评估会发生什么。您可以单独限制该评估,并且您的队列系统作为一个独立的cron作业,无论通知系统的操作如何,它仍然可以运行。这是你的电话真的-你知道你的系统,我只是转告我们如何在我们公司建立这种东西。