@@ -143,48 +143,41 @@ func reindexStock() {
143143 genresTree := genres .NewGenresTree (cfg .Genres .TREE_FILE )
144144 hashes := hash .InitHashes (db .DB )
145145
146- databaseQueue := make (chan model.Book , cfg .Database .BOOK_QUEUE_SIZE )
147- defer close (databaseQueue )
148- databaseHandler := & database.Handler {
149- CFG : cfg ,
150- DB : db ,
151- LOG : stockLog ,
152- Queue : databaseQueue ,
153- Hashes : hashes ,
154- }
155- databaseHandler .StopDB = make (chan struct {})
156- defer close (databaseHandler .StopDB )
157-
158- go databaseHandler .AddBooksToIndex ()
159-
146+ bookQueue := make (chan model.Book , cfg .Database .BOOK_QUEUE_SIZE )
147+ defer close (bookQueue )
160148 fileQueue := make (chan stock.File , cfg .Database .FILE_QUEUE_SIZE )
161149 defer close (fileQueue )
162150 stockHandler := & stock.Handler {
163- CFG : cfg ,
164- LOG : stockLog ,
165- DB : db ,
166- GT : genresTree ,
167- Queue : fileQueue ,
168- Hashes : hashes ,
151+ CFG : cfg ,
152+ LOG : stockLog ,
153+ DB : db ,
154+ GT : genresTree ,
155+ BookQueue : bookQueue ,
156+ FileQueue : fileQueue ,
157+ Hashes : hashes ,
169158 }
170- stockHandler .InitStockFolders ()
159+ stockHandler .StopDB = make (chan struct {})
160+ defer close (stockHandler .StopDB )
171161 stockHandler .StopScan = make (chan struct {})
172162 defer close (stockHandler .StopScan )
163+
164+ stockHandler .InitStockFolders ()
165+ go stockHandler .AddBooksToIndex ()
173166 for i := 0 ; i < cfg .Database .MAX_SCAN_THREADS ; i ++ {
174- go stockHandler .ParseFB2Queue (databaseQueue )
167+ go stockHandler .ParseFB2Queue ()
175168 }
176169
177170 defer func () { stockHandler .StopScan <- struct {}{} }()
178171 dir := cfg .Library .STOCK_DIR
179172 if len (cfg .Library .NEW_DIR ) > 0 {
180173 dir = cfg .Library .NEW_DIR
181174 }
182- stockHandler .ScanDir (dir , databaseQueue )
175+ stockHandler .ScanDir (dir )
183176
184177 stockHandler .StopScan <- struct {}{}
185178
186- databaseHandler .StopDB <- struct {}{}
187- <- databaseHandler .StopDB
179+ stockHandler .StopDB <- struct {}{}
180+ <- stockHandler .StopDB
188181
189182 stockLog .S .Println ("<<< Book stock reindex finished <<<<<<<<<<<<<<<<<<<<<<<<<<<" )
190183 stockLog .S .Println ("Time elapsed: " , time .Since (start ))
@@ -211,35 +204,28 @@ func run() {
211204 genresTree := genres .NewGenresTree (cfg .Genres .TREE_FILE )
212205 hashes := hash .InitHashes (db .DB )
213206
214- databaseQueue := make (chan model.Book , cfg .Database .BOOK_QUEUE_SIZE )
215- defer close (databaseQueue )
216- databaseHandler := & database.Handler {
217- CFG : cfg ,
218- DB : db ,
219- LOG : stockLog ,
220- Queue : databaseQueue ,
221- Hashes : hashes ,
222- }
223- databaseHandler .StopDB = make (chan struct {})
224- defer close (databaseHandler .StopDB )
225-
226- go databaseHandler .AddBooksToIndex ()
227-
207+ bookQueue := make (chan model.Book , cfg .Database .BOOK_QUEUE_SIZE )
208+ defer close (bookQueue )
228209 fileQueue := make (chan stock.File , cfg .Database .FILE_QUEUE_SIZE )
229210 defer close (fileQueue )
230211 stockHandler := & stock.Handler {
231- CFG : cfg ,
232- LOG : stockLog ,
233- DB : db ,
234- GT : genresTree ,
235- Queue : fileQueue ,
236- Hashes : hashes ,
212+ CFG : cfg ,
213+ LOG : stockLog ,
214+ DB : db ,
215+ GT : genresTree ,
216+ BookQueue : bookQueue ,
217+ FileQueue : fileQueue ,
218+ Hashes : hashes ,
237219 }
220+ stockHandler .StopDB = make (chan struct {})
221+ defer close (stockHandler .StopDB )
238222 stockHandler .InitStockFolders ()
239223 stockHandler .StopScan = make (chan struct {})
240224 defer close (stockHandler .StopScan )
225+
226+ go stockHandler .AddBooksToIndex ()
241227 for i := 0 ; i < cfg .Database .MAX_SCAN_THREADS ; i ++ {
242- go stockHandler .ParseFB2Queue (databaseQueue )
228+ go stockHandler .ParseFB2Queue ()
243229 }
244230 go func () {
245231 defer func () { stockHandler .StopScan <- struct {}{} }()
@@ -248,7 +234,7 @@ func run() {
248234 dir = cfg .Library .NEW_DIR
249235 }
250236 for {
251- stockHandler .ScanDir (dir , databaseQueue )
237+ stockHandler .ScanDir (dir )
252238 time .Sleep (time .Duration (cfg .Database .POLL_DELAY ) * time .Second )
253239 select {
254240 case <- stockHandler .StopScan :
@@ -293,9 +279,9 @@ func run() {
293279 stockHandler .LOG .S .Printf ("New acquisitions scanning was stoped correctly\n " )
294280
295281 // Stop addind new acquisitions to index and wait for completion
296- databaseHandler .StopDB <- struct {}{}
297- <- databaseHandler .StopDB
298- databaseHandler .LOG .S .Printf ("New acquisitions adding was stoped correctly\n " )
282+ stockHandler .StopDB <- struct {}{}
283+ <- stockHandler .StopDB
284+ stockHandler .LOG .S .Printf ("New acquisitions adding was stoped correctly\n " )
299285
300286 // Shutdown OPDS server
301287 ctx , cancel := context .WithTimeout (context .Background (), 5 * time .Second )
0 commit comments