Email 我可以稍后使用云发布/订阅发送电子邮件吗?

Email 我可以稍后使用云发布/订阅发送电子邮件吗?,email,google-app-engine,google-cloud-pubsub,Email,Google App Engine,Google Cloud Pubsub,我们正在尝试实现一个队列,该队列包含有关电子邮件收件人的详细信息以及电子邮件需要发送给他们的传递时间。例如,假设您在一个特定的日期和时间在我们的应用程序上添加一个提醒1个月,我们需要在该时间向您发送一封电子邮件,提醒您在我们的应用程序上发布的任何内容 我们无法找到一种方法来告诉酒吧/酒吧在我们选择的时间运行特定的任务。我们使用App Engine,但希望将我们的电子邮件脚本隔离到Google云功能,因此理想情况下: 用户在我们的应用程序上保存一个提醒,并要求稍后通过电子邮件提醒(此请求转到我们

我们正在尝试实现一个队列,该队列包含有关电子邮件收件人的详细信息以及电子邮件需要发送给他们的传递时间。例如,假设您在一个特定的日期和时间在我们的应用程序上添加一个提醒1个月,我们需要在该时间向您发送一封电子邮件,提醒您在我们的应用程序上发布的任何内容

我们无法找到一种方法来告诉酒吧/酒吧在我们选择的时间运行特定的任务。我们使用App Engine,但希望将我们的电子邮件脚本隔离到Google云功能,因此理想情况下:

  • 用户在我们的应用程序上保存一个提醒,并要求稍后通过电子邮件提醒(此请求转到我们的Node.js应用程序引擎web服务)
  • 我们的web服务将此“任务”添加到发布/订阅或您推荐的任何其他解决方案中。该任务包括用户的电子邮件地址、需要发送电子邮件的时间以及发送电子邮件时应调用的URL。理想情况下,URL应该是我们的Google云功能
  • 任务一直运行到完成,如果我们的云功能在尝试发送电子邮件时报告了任何问题,则重试

我们只是想不出一个在GCP上实现这一点的简单方法。我们是否应该只使用appengine上的CRON来执行每1分钟运行一次的任务,并查看我们的数据库以查找电子邮件任务?这种方法的问题在于appengine CRON作业只能调用appengine中的url,而不能调用我们的云功能。这样,我们就必须把web服务代码弄得乱七八糟,还要处理在试图发送电子邮件时可能出现的问题。我们如何实现这种功能?谢谢。

PubSub不提供日程安排服务。您需要自己设计,例如,与AppEngine一起使用taskqueue,在AppEngine上使用CRON与云功能交互等。

让定期CRON作业发布消息而不是发送电子邮件如何?您甚至可以将其作为一项单独的服务。@danielx听起来是个好主意!大多数其他具有类似功能的web应用程序就是这样工作的吗?