我们有一个python脚本,在用户在Web表单中输入一些数据后启动。整个脚本需要10-20分钟才能完成。如果用户如此选择,用户可以在10秒内从技术上启动其中的10个。如果发生这种情况,我们将同时运行10个相同的python脚本,并且由于脚本正在处理各种事情而导致彼此失败。
对总体排队系统进行编码的首选方法是什么,以便这些脚本相互了解并排队等待执行?我们通常会编写一个脚本,但需要为Web表单建立这个不断排队的系统......遗憾的是,我们不是开发人员或具有该背景。
我们也开始采用不同的方法来构建解决方案。我们一起进入这个黑客行为。我们从来没有成为流程/服务经纪人/工作人员,但这可能在这里有意义吗?
人们通常如何做这些事情?
答案 0 :(得分:3)
欢迎来到分发计算的狂野世界!
实现自己的排队系统(即使在Python中)可能会导致一个受伤的世界。 RabbitMQ是一个非常流行的企业级和开源消息队列应用程序。他们有一个great starter tutorial,讨论了开始配置它的方法和使用示例。
此外,还有一个名为Celery的Python任务队列库因此使用了RabbitMQ。它的焦点和功能稍微小一些,但提供易用性和更快的启动时间作为权衡。它没有权衡的一件事是RabbitMQs 一致性,当您深入研究排队和分布式系统时,您将学到非常重要的东西。可以找到入门文档here
<强>链接强>: