update cache expiration policy
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 1m17s

This commit is contained in:
Lee 2024-07-06 21:14:20 +01:00
parent 04c4533c40
commit 7a1ffc0538
4 changed files with 6 additions and 6 deletions

@ -49,8 +49,8 @@ public class GuildListener implements EventListener {
"<#%s>".formatted(expandedInvite.getChannel().getId()) : expandedInvite.getChannel().getName() "<#%s>".formatted(expandedInvite.getChannel().getId()) : expandedInvite.getChannel().getName()
), true); ), true);
} }
description.appendLine("Max Uses: `%s`".formatted(expandedInvite.getMaxUses() == 0 ? "Infinite" : expandedInvite.getMaxUses()), true);
description.appendLine("Creator: %s".formatted(expandedInvite.getInviter() == null ? "Unknown" : expandedInvite.getInviter().getAsMention()), true); description.appendLine("Creator: %s".formatted(expandedInvite.getInviter() == null ? "Unknown" : expandedInvite.getInviter().getAsMention()), true);
description.appendLine("Max Uses: `%s`".formatted(expandedInvite.getMaxUses() == 0 ? "Infinite" : expandedInvite.getMaxUses()), true);
; ;
logFeature.sendLog(guild, LogType.INVITE_CREATE, EmbedUtils.successEmbed().setDescription(description.build()).build()); logFeature.sendLog(guild, LogType.INVITE_CREATE, EmbedUtils.successEmbed().setDescription(description.build()).build());
}); });

@ -18,7 +18,7 @@ public class UserFeedCommand extends BatCommand {
super.addSubCommands( super.addSubCommands(
context.getBean(UserSubCommand.class), context.getBean(UserSubCommand.class),
context.getBean(ChannelSubCommand.class), context.getBean(ChannelSubCommand.class),
context.getBean(ResetSubCommand.class context.getBean(ResetSubCommand.class)
)); );
} }
} }

@ -26,13 +26,11 @@ import org.springframework.stereotype.Component;
@Component("scoresaber-user-feed:user.sub") @Component("scoresaber-user-feed:user.sub")
@CommandInfo(name = "user", description = "Adds or removes a user from the feed") @CommandInfo(name = "user", description = "Adds or removes a user from the feed")
public class UserSubCommand extends BatCommand { public class UserSubCommand extends BatCommand {
private final GuildService guildService;
private final UserService userService; private final UserService userService;
@Autowired @Autowired
public UserSubCommand(GuildService guildService, UserService userService) { public UserSubCommand(UserService userService) {
super.addOptions(new OptionData(OptionType.USER, "user", "Add or remove a user from the score feed", false)); super.addOptions(new OptionData(OptionType.USER, "user", "Add or remove a user from the score feed", false));
this.guildService = guildService;
this.userService = userService; this.userService = userService;
} }

@ -11,6 +11,7 @@ import lombok.extern.log4j.Log4j2;
import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent; import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
import net.dv8tion.jda.api.events.user.update.UserUpdateGlobalNameEvent; import net.dv8tion.jda.api.events.user.update.UserUpdateGlobalNameEvent;
import net.jodah.expiringmap.ExpirationPolicy;
import net.jodah.expiringmap.ExpiringMap; import net.jodah.expiringmap.ExpiringMap;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -36,6 +37,7 @@ public class UserService implements EventListener {
*/ */
private final Map<String, BatUser> users = ExpiringMap.builder() private final Map<String, BatUser> users = ExpiringMap.builder()
.expiration(1, TimeUnit.HOURS) .expiration(1, TimeUnit.HOURS)
.expirationPolicy(ExpirationPolicy.ACCESSED) // Expire after not being accessed for 1 hour
.expirationListener((key, cachedUser) -> { .expirationListener((key, cachedUser) -> {
BatUser user = (BatUser) cachedUser; BatUser user = (BatUser) cachedUser;
log.info("Removed user \"{}\" - \"{}\" from cache", user.getName(), user.getId()); log.info("Removed user \"{}\" - \"{}\" from cache", user.getName(), user.getId());