[英]NodeJs best practices for scheduled process?
我目前正在开发一个类似 Tiktok 的大型应用程序,其中视频将存在 5 天。 我的问题我应该如何安排在 5 天后删除视频? 2 我提出的方法是,我可以构建一个后台服务工作者,它会不断循环遍历数据库并检查视频是否应该关闭,或者我可以将其放入 setTimeOut() 5 天,这意味着它会在 RAM 上,并且需要有一个服务来重新启动所有 setTimeOut(),以防服务器关闭。 我正在使用 AWS EC2,所以我想知道哪种方法可以扩展并节省一些钱。 谢谢你。
您可以使用队列管理在其上存储任务。
假设你有一个队列来保存你的任务。 你有一个消费者听你的队列。 如果消息发送,消费者会读取消息并为您处理工作。
但有一个挑战。 什么时候应该将任务发送到队列中,什么时候消费者应该处理任务。 对于可用性部分,消息代理是不错的选择,但管理流程取决于您的方法,如果您有微服务系统设计,则可以将消费者编写为服务。
当然,您应该了解任务队列和消息队列的概念。
看看区别:
https://www.tech101.in/message-queue-and-task-queue/
有一个适用于 Redis 的简单任务队列包:
请注意,在生产级别处理消息代理很复杂。
你也应该了解 cron 系统:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.