Share single torrent client across all services, eliminate triple qBittorrent login on startup
This commit is contained in:
@@ -82,12 +82,12 @@ type riverSetup struct {
|
||||
cacheRefreshWorker *indexer.CacheRefreshWorker
|
||||
}
|
||||
|
||||
func setupRiver(ctx context.Context, cfg config.Config, db *database.DB) *riverSetup {
|
||||
func setupRiver(ctx context.Context, cfg config.Config, db *database.DB, torrentClient torrent.TorrentClient) *riverSetup {
|
||||
cacheWorker := &indexer.CacheRefreshWorker{}
|
||||
pollWorker := &workers.PollDownloadWorker{
|
||||
Downloads: database.NewDownloadRepository(db.Pool),
|
||||
DownloadFiles: database.NewDownloadFileRepository(db.Pool),
|
||||
TorrentClient: torrent.MustNewTorrentClient(cfg),
|
||||
TorrentClient: torrentClient,
|
||||
}
|
||||
|
||||
riverWorkers := river.NewWorkers()
|
||||
@@ -155,9 +155,15 @@ func serveGrpc(config config.Config) {
|
||||
ctx := context.Background()
|
||||
db := setupDatabase(ctx, config)
|
||||
defer db.Close()
|
||||
rs := setupRiver(ctx, config, db)
|
||||
|
||||
musiscAgregatorSeerver, err := internal.NewMusicAgregatorServer(config, rs.client, db)
|
||||
torrentClient, err := torrent.NewTorrentClient(config)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("failed to create torrent client")
|
||||
}
|
||||
|
||||
rs := setupRiver(ctx, config, db, torrentClient)
|
||||
|
||||
musiscAgregatorSeerver, err := internal.NewMusicAgregatorServer(config, rs.client, torrentClient, db)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("failed to create MusicAgregatorServer")
|
||||
}
|
||||
@@ -165,10 +171,7 @@ func serveGrpc(config config.Config) {
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("failed to create IndexerServer")
|
||||
}
|
||||
torrentServer, err := torrent.NewTorrentServer(config)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("failed to create TorrentServer")
|
||||
}
|
||||
torrentServer := torrent.NewTorrentServer(torrentClient)
|
||||
metadataServer, err := metadata.NewMetadataServer(config)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("failed to create MetadataServer")
|
||||
|
||||
Reference in New Issue
Block a user