format
This commit is contained in:
@@ -72,8 +72,16 @@ impl WorkerManager {
|
||||
// Read config for concurrency settings and spawn workers
|
||||
let cfg = state_clone.config.read().await.clone();
|
||||
spawn_worker(state_clone.clone(), WorkTaskType::Download, 1);
|
||||
spawn_worker(state_clone.clone(), WorkTaskType::Index, cfg.indexing.concurrency);
|
||||
spawn_worker(state_clone.clone(), WorkTaskType::Tag, cfg.tagging.concurrency);
|
||||
spawn_worker(
|
||||
state_clone.clone(),
|
||||
WorkTaskType::Index,
|
||||
cfg.indexing.concurrency,
|
||||
);
|
||||
spawn_worker(
|
||||
state_clone.clone(),
|
||||
WorkTaskType::Tag,
|
||||
cfg.tagging.concurrency,
|
||||
);
|
||||
spawn_worker(state_clone.clone(), WorkTaskType::Organize, 4);
|
||||
});
|
||||
}
|
||||
@@ -361,11 +369,11 @@ async fn process_index(
|
||||
break;
|
||||
}
|
||||
for track in &tracks {
|
||||
if let Some(ref mbid) = track.musicbrainz_id {
|
||||
if !wanted_mbids.contains(mbid.as_str()) {
|
||||
let tag_payload = serde_json::json!({"track_id": track.id});
|
||||
downstream.push((WorkTaskType::Tag, tag_payload.to_string()));
|
||||
}
|
||||
if let Some(ref mbid) = track.musicbrainz_id
|
||||
&& !wanted_mbids.contains(mbid.as_str())
|
||||
{
|
||||
let tag_payload = serde_json::json!({"track_id": track.id});
|
||||
downstream.push((WorkTaskType::Tag, tag_payload.to_string()));
|
||||
}
|
||||
}
|
||||
offset += 500;
|
||||
@@ -420,35 +428,34 @@ async fn process_tag(
|
||||
.map_err(|e| e.to_string())?;
|
||||
|
||||
// Ensure a wanted_item exists for this track (marks imported files as Owned)
|
||||
if let Some(ref mbid) = track.musicbrainz_id {
|
||||
if queries::wanted::find_by_mbid(conn, mbid)
|
||||
if let Some(ref mbid) = track.musicbrainz_id
|
||||
&& queries::wanted::find_by_mbid(conn, mbid)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?
|
||||
.is_none()
|
||||
{
|
||||
let item = queries::wanted::add(
|
||||
conn,
|
||||
queries::wanted::AddWantedItem {
|
||||
item_type: shanty_db::entities::wanted_item::ItemType::Track,
|
||||
name: track.title.as_deref().unwrap_or("Unknown"),
|
||||
musicbrainz_id: Some(mbid),
|
||||
artist_id: track.artist_id,
|
||||
album_id: track.album_id,
|
||||
track_id: Some(track.id),
|
||||
user_id: None,
|
||||
},
|
||||
)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?;
|
||||
{
|
||||
let item = queries::wanted::add(
|
||||
conn,
|
||||
queries::wanted::AddWantedItem {
|
||||
item_type: shanty_db::entities::wanted_item::ItemType::Track,
|
||||
name: track.title.as_deref().unwrap_or("Unknown"),
|
||||
musicbrainz_id: Some(mbid),
|
||||
artist_id: track.artist_id,
|
||||
album_id: track.album_id,
|
||||
track_id: Some(track.id),
|
||||
user_id: None,
|
||||
},
|
||||
)
|
||||
.await
|
||||
.map_err(|e| e.to_string())?;
|
||||
|
||||
// Mark as Owned immediately since the file already exists
|
||||
let _ = queries::wanted::update_status(
|
||||
conn,
|
||||
item.id,
|
||||
shanty_db::entities::wanted_item::WantedStatus::Owned,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
// Mark as Owned immediately since the file already exists
|
||||
let _ = queries::wanted::update_status(
|
||||
conn,
|
||||
item.id,
|
||||
shanty_db::entities::wanted_item::WantedStatus::Owned,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
// Create Organize work item
|
||||
|
||||
Reference in New Issue
Block a user