public Mono<Void> deletePlugins(Set<String> ids, boolean deleteLocalFiles) {
        List<Plugin> plugins = pluginRepository.removePlugins(ids);
        return stopPlugins(plugins).then(Mono.fromRunnable(() -> {
            if (!deleteLocalFiles) {
                return;
            }
            for (Plugin plugin : plugins) {
                try {
                    destroyPlugin(plugin);
                } catch (Exception e) {
                    LOGGER.error("Caught an error while deleting the plugin: {}",
                            plugin.descriptor()
                                    .getId(),
                            e);
                }
            }
        }));
    }
@implNote Start plugins after all beans are ready so that plugins can get any bean when
          starting.
turms-server-common/src/main/java/im/turms/server/common/infra/plugin/PluginManager.java