async def METHOD_NAME(self, guild_id: int, room_id: int, track: lavalink.Track):
    enqueue_time = track.extras.get("enqueue_time", 0)
    if enqueue_time == 0:
        track.extras["enqueue_time"] = int(time.time())
    track_identifier = track.track_identifier
    track = self.cog.track_to_json(track)
    with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
        executor.submit(
            self.database.cursor().execute,
            PERSIST_QUEUE_UPSERT,
            {
                "guild_id": int(guild_id),
                "room_id": int(room_id),
                "played": False,
                "time": enqueue_time,
                "track": json.dumps(track),
                "track_id": track_identifier,
            },
        )