我正在开展个人项目,我希望自动化TA分配系统。我想为此使用Node和MongoDB。虽然我对MongoDB有所了解,但我是NodeJS的新手。该项目的目的是做这样的事情:
我计划使用队列来实现它。 (将该课程中的所有可用学生存储在队列中,并将TA-ship分配给队列前面的高年级学生)。一旦他/她被分配了TA,他们就会从队列中删除并推回到数据库中,并将PresentStatus作为“Hired”。我面临的问题是,我无法理解如何使用NodeJS实现队列的功能。在我研究这种方法的过程中,我发现了一些与monq和博客相关的内容,他们已经讨论过用Kue实现它(由Redis支持),但我仍然无法想象如何使用队列实现这个想法。的NodeJS。任何帮助将不胜感激。
答案 0 :(得分:1)
RabbitMQ是您正在寻找的选项。
您必须创建邮件发件人和邮件使用者。消费者将拥有相应的队列。一旦队列中充满了消息,消费者就会抓住它并进行处理。在您的方案中,它会检查学生的状态,然后将他/她更改为在您的数据库中受雇。您的发件人所做的是将学生的信息打包并将其放入消费者的队列中。我可以想象你的情况会发生什么:一个学生在他/她身边提交请求。 node.js api接收它并打包信息。然后它将它发送到您的客户队列。如果客户免费,您的客户将对其进行处理。如果它很忙,信息将在队列中等待。我建议你为学生使用json'不同组件必须通信时的信息。
以下是RabbitMQ的官方网站:https://www.rabbitmq.com/getstarted.html
希望它有所帮助。