5
Observers and Callbacks on Rails模型在同一个线程上运行并阻塞请求直到它们返回。例如,如果我有一个Photo模型,并且在after_create回调或观察者队列中调整大小的作业,那么请求将不会完成,直到在队列中创建一个条目(如果我正在使用,则有时会很慢用于排队的Amazon SQS)。如何异步处理Rails观察者和回调(在不同的线程中)?
对于Callbacks on Rails控制器同样适用。如果我必须执行维护(如缓存管理或商店分析),请求将在回调结束之前完成。
是否存在Rails方式在回调(模型或控制器)或不同线程中的观察者内部运行代码,以便请求不会停滞?
谢谢,好主意。我使用Amazon SQS将delayed_jobs或resque的功能外包出去,以便在使用resque时使用delayed_job或设置redis时不必一直ping我的数据库。亚马逊SQS的工作非常出色,但有时在重新连接到SQS服务器方面存在一些小的延迟。 – Sid 2011-02-22 19:47:36