が死ぬ 適当に短くすれば安心 # デフォルト # G o l d f i n g e r H T T P . t i m e o u t ( : p e r _ o p e r a t i o n , w r i t e : 6 0 , c o n n e c t : 2 0 , r e a d : # P u b s u b h u b b u b : : D e l i v e r y W o r k e r H T T P . t i m e o u t ( : p e r _ o p e r a t i o n , w r i t e : 5 0 , c o n n e c t : 2 0 , r e a d : # F e t c h A t o m S e r v i c e H T T P . t i m e o u t ( : p e r _ o p e r a t i o n , w r i t e : 1 0 , c o n n e c t : 1 0 , r e a d :
に通知を飛ばす Sidekiq に積まれるのはID のみ s t a t u s . a c c o u n t . f o l l o w e r s . w h e r e ( d o m a i n : n i l ) . s e l e c t ( : i d ) . r e o r d e r # ここが、 個別のJ o b に積まれる F e e d I n s e r t W o r k e r . p e r f o r m _ a s y n c ( s t a t u s . i d , f o l l o w e r . i d ) e n d
が実行されている w h e r e ( i d : i d s ) でまとめて引っ張ってこれれば、DB へのアクセ スが減る s t a t u s . a c c o u n t . f o l l o w e r s . w h e r e ( d o m a i n : n i l ) . s e l e c t ( : i d ) . r e o r d e r # ここが、 個別のJ o b に積まれる F e e d I n s e r t W o r k e r . p e r f o r m _ a s y n c ( s t a t u s . i d , f o l l o w e r . i d ) e n d
a s y n c _ i n _ b a t c h e s を作る バッチサイズを設定できるようにする デフォルト 1 であれば、 既存の挙動を変えずできる Job 側では配列でid が渡された時はまとめて処理する 失敗したjob だけを再度積み直せば良い F e e d I n s e r t W o r k e r . p e r f o r m _ a s y n c _ i n _ b a t c h e s ( s t a t u s . i d , f o l l o w e r _ i d e f p e r f o r m _ a s y n c _ i n _ b a t c h e s ( s t a t u s _ i d , f o l l o w e r _ i d s ) b a t c h _ s i z e = E N V . f e t c h ( ' S I D E K I Q _ B A T C H _ S I Z E ' ) { 1 } f o l l o w e r _ i d s . e a c h _ s l i c e ( b a t c h _ s i z e ) d o | i d s | p e r f o r m _ a s y n c ( s t a t u s _ i d , i d s ) e n d e n d