2012-04-02 3 views
0

업데이트 된 제품 가격에 대해 항상 데이터베이스를 검색하는 배경 작업을 만드는 것이 가장 좋은 것인지, 특히 내 응용 프로그램에서 저렴한 가격으로 수백만 개의 제품이 관찰되는 경우 100,000 개가 필요할 것으로 예상되는지는 확실하지 않습니다. .제품 구독을 확장 가능한 방법으로 설정 하시겠습니까?

두 모델이 ProductPrice입니다. Product은 많은 다른 Prices을 가질 수 있습니다. 따라서해야 할 일은 다음과 같았습니다.

  1. 제품을 구독하십시오.
  2. 낮은 가격으로 매시간 데이터베이스를 검색하는 백그라운드 작업을 만듭니다.
  3. 이메일로 사용자에게 알리십시오.

# 2에 대한 확신이 없으며 그게 최선의 방법일까요? 너희들이 뭐라고 제안 하나?

답변

2

, 왜 때마다 A를 (이 경우에 after_create)는 액티브 콜백을하지 새로운 가격 객체가 추가 되었습니까?

ActiveRecord 콜백은 새롭고 저렴한 가격에 대해 사용자에게 이메일을 보내기 위해 지연된 작업을 시작할 수 있습니다.

2

저라면 저에게 직업 스위퍼 대신 데이터베이스 트리거를 사용하겠습니다. 여기

는 트리거에 대한 소개입니다 : 당신의 레일 응용 프로그램이 데이터베이스에있는 제품에 새로운 가격 개체를 추가하는 경우

http://www.mysqltutorial.org/mysql-triggers.aspx

관련 문제