Skip to content

gowon-bot/lilac

Repository files navigation

Lilac

너도 언젠가 날 잊게 될까?

This project is part of Gowon bot (main repo)

Structure

Indexing

Lilac indexing leverages Elixir's OTP integration to dynamically spin up new indexing instances. Indexer supervises IndexingSupervisor instances, which also have children to handle scrobble fetching, converting, inserting, and progress updating.

The indexing pipeline:

Since Artists, Albums, and Tracks are associated to Scrobbles by ids, Lilac needs to convert the text based Last.fm scrobble fields to ids. For example, the artist "IU" needs to be turned into the id 1242.

To accomplish this, Lilac uses a case insensitive map abstraction called ConversionMap. A list of entities is fetched from the database, and a conversion map is generated by mapping the entities' name to their ids.

This conversion map is generated for artists, albums, and tracks. These maps are then used to insert Scrobbles, ArtistCounts, AlbumCounts, and TrackCounts.

Any questions?

Somethings broken? Just curious how something works?

Feel free to shoot me a Discord dm at john!#2527 or join the support server! https://discord.gg/9Vr7Df7TZf

Releases

No releases published

Packages

No packages published

Languages