嘿,伙计们,我有一个程序,它使用ajax通过基于用户表单输入的API向多个社交网络发送帖子。我想知道这个过程(当我自己测试它的时候不会超过2-3秒)是否值得使用像BackgroundRB这样的守护进程?换句话说,如果这个程序被100+人使用,那么通过AJAX对操作的简单调用会降低整个应用程序的速度吗?
发布于 2010-03-08 03:39:43
是的,我推荐使用DelayedJob来完成这个任务。您希望避免对应用程序发出不必要的HTTP请求。使用DelayedJob,它可以连接到您的数据库并建立第三方连接,而无需向您的应用程序发起任何HTTP请求。
我不推荐使用BackgroundRB。
发布于 2010-03-08 03:46:21
排序答案:你必须进入后台,使用delayed_job
更长的答案:
问题是,尽管它只需要2-3秒,但它在执行此操作时会完全锁定应用程序服务器。因此,如果你有5个mongrels或passenger应用服务器在运行,这意味着如果5个人在2-3秒的间隔内决定执行此操作,其他请求将无法处理。
因此,虽然在开发过程中可以这样做,但在生产中必须将其转移到后台。
我不推荐使用BackgroundRB。为了满足您的需求,您似乎需要delayed_job
发布于 2010-03-08 03:56:47
你有很多解决方案来解决这个问题
https://stackoverflow.com/questions/2397620
复制相似问题