[AB-285] fixing interval of warn decay job

removing has example config from unban
enabling to change the configuration for cron scheduler job
adding HTTP method to okhttp logger
fixing unmute job parameters
changing to use cache when retrieving reactions for a message to cache it
This commit is contained in:
Sheldan
2021-06-02 12:27:10 +02:00
parent 432dc0ffae
commit 82281cbd6c
11 changed files with 69 additions and 7 deletions

View File

@@ -42,7 +42,7 @@ public class UnBan extends AbstractConditionableCommand {
public CommandConfiguration getConfiguration() { public CommandConfiguration getConfiguration() {
List<Parameter> parameters = new ArrayList<>(); List<Parameter> parameters = new ArrayList<>();
parameters.add(Parameter.builder().name("user").templated(true).type(User.class).build()); parameters.add(Parameter.builder().name("user").templated(true).type(User.class).build());
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build(); HelpInfo helpInfo = HelpInfo.builder().templated(true).build();
return CommandConfiguration.builder() return CommandConfiguration.builder()
.name("unBan") .name("unBan")
.module(ModerationModuleDefinition.MODERATION) .module(ModerationModuleDefinition.MODERATION)

View File

@@ -207,8 +207,8 @@ public class MuteServiceBean implements MuteService {
} else { } else {
log.debug("Starting scheduled job to execute unMute."); log.debug("Starting scheduled job to execute unMute.");
HashMap<Object, Object> parameters = new HashMap<>(); HashMap<Object, Object> parameters = new HashMap<>();
parameters.put("muteId", muteId); parameters.put("muteId", muteId.toString());
parameters.put("serverId", serverId); parameters.put("serverId", serverId.toString());
JobParameters jobParameters = JobParameters.builder().parameters(parameters).build(); JobParameters jobParameters = JobParameters.builder().parameters(parameters).build();
return schedulerService.executeJobWithParametersOnce("unMuteJob", "moderation", jobParameters, Date.from(unMuteDate)); return schedulerService.executeJobWithParametersOnce("unMuteJob", "moderation", jobParameters, Date.from(unMuteDate));
} }

View File

@@ -0,0 +1,10 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<include file="update/update.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View File

@@ -0,0 +1,10 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<include file="warn_decay_job.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View File

@@ -0,0 +1,15 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="warn-decay-job-update_schedule">
<update tableName="scheduler_job">
<column name="cron_expression" value="0 0 0 * * ?"/>
<where>name='warnDecayJob'</where>
</update>
</changeSet>
</databaseChangeLog>

View File

@@ -0,0 +1,15 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext dbchangelog.xsd
http://www.liquibase.org/xml/ns/pro dbchangelog.xsd" >
<changeSet author="Sheldan" id="warn-decay-job-update_schedule">
<update tableName="scheduler_job">
<column name="cron_expression" value="0 0 0 * * ?"/>
<where>name='warnDecayJob'</where>
</update>
</changeSet>
</databaseChangeLog>

View File

@@ -9,4 +9,5 @@
<include file="1.0-moderation/collection.xml" relativeToChangelogFile="true"/> <include file="1.0-moderation/collection.xml" relativeToChangelogFile="true"/>
<include file="1.2.11-moderation/collection.xml" relativeToChangelogFile="true"/> <include file="1.2.11-moderation/collection.xml" relativeToChangelogFile="true"/>
<include file="1.2.15/collection.xml" relativeToChangelogFile="true"/> <include file="1.2.15/collection.xml" relativeToChangelogFile="true"/>
<include file="1.2.16/collection.xml" relativeToChangelogFile="true"/>
</databaseChangeLog> </databaseChangeLog>

View File

@@ -14,7 +14,7 @@ public class OkHttpLogger implements Interceptor {
@Override @Override
public Response intercept(Chain chain) throws IOException { public Response intercept(Chain chain) throws IOException {
Request request = chain.request(); Request request = chain.request();
log.debug("Executing request towards towards {}.", request.url().toString()); log.debug("Executing request of method {} towards towards {}.", request.method(), request.url().toString());
Response response = chain.proceed(request); Response response = chain.proceed(request);
long startTime = response.sentRequestAtMillis(); long startTime = response.sentRequestAtMillis();
long endTime = response.receivedResponseAtMillis(); long endTime = response.receivedResponseAtMillis();

View File

@@ -165,7 +165,7 @@ public class CacheEntityServiceBean implements CacheEntityService {
@Override @Override
public CompletableFuture<CachedReactions> getCachedReactionFromReaction(MessageReaction reaction) { public CompletableFuture<CachedReactions> getCachedReactionFromReaction(MessageReaction reaction) {
CompletableFuture<CachedReactions> future = new CompletableFuture<>(); CompletableFuture<CachedReactions> future = new CompletableFuture<>();
ReactionPaginationAction users = reaction.retrieveUsers().cache(false); ReactionPaginationAction users = reaction.retrieveUsers();
CachedReactions.CachedReactionsBuilder builder = CachedReactions.builder(); CachedReactions.CachedReactionsBuilder builder = CachedReactions.builder();
List<ServerUser> aUsers = new ArrayList<>(); List<ServerUser> aUsers = new ArrayList<>();

View File

@@ -68,7 +68,18 @@ public class SchedulerServiceBean implements SchedulerService {
scheduler.addJob(jobDetail, true); scheduler.addJob(jobDetail, true);
} }
} else { } else {
log.info("Not scheduling job {}, because it was already scheduled.", schedulerJob.getName()); if(isRecurringJob(schedulerJob)) {
jobDetail = scheduleCreator.createJob((Class<? extends QuartzJobBean>) Class.forName(schedulerJob.getClazz()),
true, context, schedulerJob.getName(), schedulerJob.getGroupName(), schedulerJob.isRecovery());
List<? extends Trigger> triggers = scheduler.getTriggersOfJob(jobDetail.getKey());
Trigger trigger = scheduleCreator.createBasicCronTrigger(new Date(),
schedulerJob.getCronExpression());
scheduler.rescheduleJob(triggers.get(0).getKey(), trigger);
log.info("Rescheduling job {}, its a cron job and the definition might have changed.", schedulerJob.getName());
} else {
log.info("Not scheduling job {}, because it was already scheduled.", schedulerJob.getName());
}
} }
} catch (ClassNotFoundException | SchedulerException e) { } catch (ClassNotFoundException | SchedulerException e) {
log.error("Failed to schedule job", e); log.error("Failed to schedule job", e);

View File

@@ -28,7 +28,7 @@ public class SchedulerStartupService {
@Transactional(isolation = Isolation.SERIALIZABLE) @Transactional(isolation = Isolation.SERIALIZABLE)
public void handleContextRefreshEvent(ContextRefreshedEvent ctxStartEvt) { public void handleContextRefreshEvent(ContextRefreshedEvent ctxStartEvt) {
schedulerJobManagementServiceBean.findAll().forEach(schedulerJob -> { schedulerJobManagementServiceBean.findAll().forEach(schedulerJob -> {
if(!schedulerJobManagementServiceBean.doesJobExist(schedulerJob) || !schedulerJobManagementServiceBean.isJobDefinitionTheSame(schedulerJob)) { if(!schedulerJobManagementServiceBean.doesJobExist(schedulerJob)) {
schedulerJobManagementServiceBean.createOrUpdate(schedulerJob); schedulerJobManagementServiceBean.createOrUpdate(schedulerJob);
} }
}); });