mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-03-13 07:10:03 +01:00
Prevented some issues with tasks running on reload
This commit is contained in:
parent
46e15a1196
commit
9e91ee61f8
@ -30,11 +30,9 @@ import com.djrapitops.plan.utilities.metrics.BStats;
|
||||
import com.djrapitops.plugin.BukkitPlugin;
|
||||
import com.djrapitops.plugin.StaticHolder;
|
||||
import com.djrapitops.plugin.api.Benchmark;
|
||||
import com.djrapitops.plugin.api.systems.TaskCenter;
|
||||
import com.djrapitops.plugin.api.utility.log.DebugLog;
|
||||
import com.djrapitops.plugin.api.utility.log.Log;
|
||||
import com.djrapitops.plugin.settings.ColorScheme;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
/**
|
||||
@ -101,8 +99,6 @@ public class Plan extends BukkitPlugin implements PlanPlugin {
|
||||
Log.info(Locale.get(Msg.DISABLED).toString());
|
||||
Benchmark.pluginDisabled(Plan.class);
|
||||
DebugLog.pluginDisabled(Plan.class);
|
||||
TaskCenter.cancelAllKnownTasks(Plan.class);
|
||||
Bukkit.getScheduler().cancelTasks(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -12,7 +12,6 @@ import com.djrapitops.plan.system.settings.theme.PlanColorScheme;
|
||||
import com.djrapitops.plugin.BungeePlugin;
|
||||
import com.djrapitops.plugin.StaticHolder;
|
||||
import com.djrapitops.plugin.api.Benchmark;
|
||||
import com.djrapitops.plugin.api.systems.TaskCenter;
|
||||
import com.djrapitops.plugin.api.utility.log.DebugLog;
|
||||
import com.djrapitops.plugin.api.utility.log.Log;
|
||||
import com.djrapitops.plugin.settings.ColorScheme;
|
||||
@ -54,7 +53,6 @@ public class PlanBungee extends BungeePlugin implements PlanPlugin {
|
||||
Log.info(Locale.get(Msg.DISABLED).toString());
|
||||
Benchmark.pluginDisabled(PlanBungee.class);
|
||||
DebugLog.pluginDisabled(PlanBungee.class);
|
||||
TaskCenter.cancelAllKnownTasks(PlanBungee.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -99,6 +99,7 @@ public abstract class PlanSystem implements SubSystem {
|
||||
@Override
|
||||
public void disable() {
|
||||
SubSystem[] systems = new SubSystem[]{
|
||||
taskSystem,
|
||||
hookHandler,
|
||||
cacheSystem,
|
||||
listenerSystem,
|
||||
@ -107,7 +108,6 @@ public abstract class PlanSystem implements SubSystem {
|
||||
webServerSystem,
|
||||
infoSystem,
|
||||
serverInfo,
|
||||
taskSystem,
|
||||
configSystem,
|
||||
fileSystem,
|
||||
versionCheckSystem
|
||||
|
@ -1,16 +1,12 @@
|
||||
package com.djrapitops.plan.system.processing;
|
||||
|
||||
import com.djrapitops.plan.PlanPlugin;
|
||||
import com.djrapitops.plan.system.PlanSystem;
|
||||
import com.djrapitops.plan.system.SubSystem;
|
||||
import com.djrapitops.plan.utilities.queue.Consumer;
|
||||
import com.djrapitops.plan.utilities.queue.Queue;
|
||||
import com.djrapitops.plan.utilities.queue.Setup;
|
||||
import com.djrapitops.plugin.api.Benchmark;
|
||||
import com.djrapitops.plugin.api.TimeAmount;
|
||||
import com.djrapitops.plugin.api.utility.log.Log;
|
||||
import com.djrapitops.plugin.task.AbsRunnable;
|
||||
import com.djrapitops.plugin.task.RunnableFactory;
|
||||
import com.djrapitops.plugin.utilities.Verify;
|
||||
|
||||
import java.util.List;
|
||||
@ -45,22 +41,9 @@ public class ProcessingQueue extends Queue<Processor> implements SubSystem {
|
||||
@Override
|
||||
public void disable() {
|
||||
List<Processor> processors = stopAndReturnLeftovers();
|
||||
if (PlanPlugin.getInstance().isReloading()) {
|
||||
RunnableFactory.createNew("Re-Add processors", new AbsRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ProcessingQueue que = ProcessingQueue.getInstance();
|
||||
for (Processor processor : processors) {
|
||||
que.queue(processor);
|
||||
}
|
||||
cancel();
|
||||
}
|
||||
}).runTaskLaterAsynchronously(TimeAmount.SECOND.ticks() * 5L);
|
||||
} else {
|
||||
Log.info("Processing unprocessed processors. (" + processors.size() + ")");
|
||||
for (Processor processor : processors) {
|
||||
processor.process();
|
||||
}
|
||||
Log.info("Processing unprocessed processors. (" + processors.size() + ")");
|
||||
for (Processor processor : processors) {
|
||||
processor.process();
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,7 +61,6 @@ public class ProcessingQueue extends Queue<Processor> implements SubSystem {
|
||||
|
||||
class ProcessConsumer extends Consumer<Processor> {
|
||||
|
||||
|
||||
ProcessConsumer(BlockingQueue<Processor> q) {
|
||||
super(q, "ProcessQueueConsumer");
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import com.djrapitops.plugin.api.TimeAmount;
|
||||
import com.djrapitops.plugin.api.utility.log.Log;
|
||||
import com.djrapitops.plugin.task.ITask;
|
||||
import com.djrapitops.plugin.task.RunnableFactory;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
/**
|
||||
* TaskSystem responsible for registering tasks for Bukkit.
|
||||
@ -42,6 +43,12 @@ public class BukkitTaskSystem extends TaskSystem {
|
||||
registerTasks();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disable() {
|
||||
super.disable();
|
||||
Bukkit.getScheduler().cancelTasks(plugin);
|
||||
}
|
||||
|
||||
private void registerTasks() {
|
||||
Benchmark.start("Task Registration");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user