方法发布在Cronjob

时间:2017-03-28 11:58:31

标签: php mysql cron

我需要一个建议,基本上我有一个多步骤向导表单,在这个向导中,出于营销目的,我需要在第一步(名称,电子邮件,地址)保存到数据库,用户不完成所有的向导步骤。 但我需要为管理员创建一个电子邮件通知,用户不会完成表单。所以我认为例如在cpanel中创建一个cronjob,它在我的数据库中验证没有完成多步骤的记录,而不是通过电子邮件向管理员发送电子邮件。

但是有一个问题,我需要更新记录中的列,在我的例子中是一个名为&#34的列;已验证"这是布尔值,当邮件发送时为true,这样每次cronjob启动时都不会向管理员发送电子邮件。

但看起来cronjob只支持Get方法,有人有建议吗?

2 个答案:

答案 0 :(得分:1)

请求方法(Get,post,put,...)是特定于http的。当您在终端(cronjob)中运行代码时,您没有请求方法。

您应该创建一个脚本(或命令,具体取决于您是否使用框架),该脚本会检查所有内容并更改数据库中的值。

答案 1 :(得分:1)

请求方法(获取,发布,放置,删除等)是特定于http的CRON作业。

  

但看起来cronjob只支持Get方法

这是错误的。 Cron作业是在指定的时间间隔内调用特定文件。您可以在此处阅读:Cron Jobs

在您的情况下,您需要遵循以下事项:

  • 当表单部分完成时,您将数据保存在 数据库。因此,您可以在数据库中保存使用2列,1是 检查没有填写表格的用户,第二个是检查 如果已经发送电子邮件给他们。
  • 假设2列是is_incomplete(用于检查没有列的用户) 完成表格)和is_followup_email_sent(检查是否有电子邮件 被送去进一步跟进)。

  • 在您的CRON文件路径中,您不需要指定任何GET参数 它需要。您只需要调用放在服务器上的文件即可 该文件,您需要连接到数据库以获取用户所在的位置 is_incomplete = 1(表单未完成)然后再制作另一个 用于将电子邮件发送到此用户列表并进行设置的功能 is_followup_email_sent = 1(表示已发送电子邮件)

  • 每当调用您的CRON文件时,您只需要进行检查即可 你得到所有那些is_incomplete = 1和的用户的顶部 is_followup_email_sent = 0即尚未完成他们的用户 表格和管理员电子邮件尚未发送给他们。

我希望这会对你有所帮助!欢呼声。