繁体   English   中英

NodeJs 计划流程的最佳实践?

[英]NodeJs best practices for scheduled process?

我目前正在开发一个类似 Tiktok 的大型应用程序,其中视频将存在 5 天。 我的问题我应该如何安排在 5 天后删除视频? 2 我提出的方法是,我可以构建一个后台服务工作者,它会不断循环遍历数据库并检查视频是否应该关闭,或者我可以将其放入 setTimeOut() 5 天,这意味着它会在 RAM 上,并且需要有一个服务来重新启动所有 setTimeOut(),以防服务器关闭。 我正在使用 AWS EC2,所以我想知道哪种方法可以扩展并节省一些钱。 谢谢你。

您可以使用队列管理在其上存储任务。

假设你有一个队列来保存你的任务。 你有一个消费者听你的队列。 如果消息发送,消费者会读取消息并为您处理工作。

但有一个挑战。 什么时候应该将任务发送到队列中,什么时候消费者应该处理任务。 对于可用性部分,消息代理是不错的选择,但管理流程取决于您的方法,如果您有微服务系统设计,则可以将消费者编写为服务。

rabbit-MQkafka是最受欢迎的消息代理。

当然,您应该了解任务队列消息队列的概念。

看看区别:

https://serverfault.com/questions/669434/whats-the-difference-between-a-task-queue-and-a-message-queue-in-rabbitmq

https://www.tech101.in/message-queue-and-task-queue/

有一个适用于 Redis 的简单任务队列包:

蜂队

请注意,在生产级别处理消息代理很复杂。

你也应该了解 cron 系统:

https://en.wikipedia.org/wiki/Cron

https://www.redhat.com/sysadmin/automate-linux-tasks-cron

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM