python-3.x - 节点JS | 蟒蛇 | Heroku - 在表单发布后 48 小时安排电子邮件
问题描述
我用 ReactJS + NodeJS 制作了一个 PWA,运行一个 python 后端,该后端由 Node 服务器作为子进程生成,我必须在调用付款验证 48 小时后通过电子邮件发送并生成由 python 生成的文档,如何我要做到这一点吗?我目前的方法包括:
def sendInTwoDays(recipient, filename):
time = round(random.uniform(0.8, 2.0), 2)
time = round(time * 24 * 3600, 2)
time /= 10000 #for testing
print("[python:sendInTwoDays()] > Sleep ({} seconds) : {} days".format(time, time/3600))
sleep(time)
sendNow(recipient, filename)
我讨厌它,因为它使用“sleep()”并且在网络服务器上睡觉并不适合我。
请提出一种更好的方法来在heroku上完成同样的任务。
解决方案
我建议使用 Heroku Scheduler 的调度(cron)方法,例如每十五分钟检查一次到期的电子邮件。我不会让这个过程等待 48 小时,而是将电子邮件数据与电子邮件发送时间一起保存在数据库中,并让调度程序可以调用 API/任务来调用 Python 脚本以输出和电子邮件文档,这些文档将在 48 小时后到期. 电子邮件不会在 48 小时后发出,但应该是关闭的。
推荐阅读
- azure-pipelines - 失败时自动重新运行 datafactory 控制器管道
- java - EWS 如何获取会议取消事件
- python - TypeError:在进行模型拟合时无法腌制“生成器”对象
- podman - 来自私有存储库的 snyk 容器测试
- node.js - 位置 0 处的 JSON 中的意外标记“
- ssl - 留置权中的 SSL 证书
- linux-kernel - 接入点模式下客户端断开连接的 NetLink 事件想要断开连接原因
- ios - 构建应用时不再支持代码签名版本
- python - 使用 Python 机器人阅读不和谐的 RPG 机器人
- python - 如何使用python绘制单变量数据的正态分布曲线