use*_*985 7 python heroku rabbitmq celery kombu
我想将图像上传到S3服务器,但在上传之前我想生成3种不同大小的缩略图,我希望它可以在请求/响应周期之外完成,因此我使用的是芹菜.我已经阅读了文档,这是我所理解的.如果我错了,请纠正我.
现在我的理解是 - 如果多个用户同时上传图像,芹菜会将调整大小排队,调整大小实际上会发生在ironMQ服务器上,因为它在heroku上提供了一个很酷的插件.
现在怀疑:
但是在图像调整大小之后,ironMQ会将其推送到S3服务器,还是会在完成该过程后通知它...我不清楚它.
芹菜和海带/胡萝卜有什么区别,能否生动地解释一下.
Pad*_*ddy 12
IronMQ不会为您处理您的任务; 它只是Celery的后端,可以跟踪需要执行的工作.
所以,这就是发生的事情.假设您有两台服务器,即您的Web服务器和Celery服务器.您的Web服务器负责处理请求,您的Celery服务器会创建缩略图并将它们上传到S3.这是典型的请求:
我写了一个在Heroku上使用IronMQ的例子.你可以在这里看到它:http://iron-celery-demo.herokuapp.com.您可以在Github上看到该示例的源代码并阅读本教程,该教程非常全面地解释了如何在Heroku上部署Celery.
要清理AMQP的东西:
IronMQ和RabbitMQ/AMQP之间最大的区别之一是IronMQ是托管和管理的,因此您不必自己托管服务器并担心正常运行时间.该规范在差异化方面提供了更多,并且存在潜在的差异,但Celery将大部分内容抽象出来.因为您正在使用Celery,所以您可能会注意到的唯一区别是IronMQ是托管的,因此您无需站起来管理自己的服务器.
完全披露:我受雇于IronMio背后的公司Iron.io.