mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-03 09:20:08 +00:00
Merge pull request #986 from discordeno/remove-cleanup-shards-logic
Remove cleanup shards logic
This commit is contained in:
@@ -1,31 +1,31 @@
|
||||
import { DiscordenoChannel } from "../../structures/channel.ts";
|
||||
import { DiscordenoGuild } from "../../structures/guild.ts";
|
||||
import { DiscordenoMember } from "../../structures/member.ts";
|
||||
import { DiscordenoMessage } from "../../structures/message.ts";
|
||||
import { DiscordenoRole } from "../../structures/role.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
import { PresenceUpdate } from "../activity/presence_update.ts";
|
||||
import { StageInstance } from "../channels/stage_instance.ts";
|
||||
import { ThreadMember } from "../channels/threads/thread_member.ts";
|
||||
import { ThreadMembersUpdate } from "../channels/threads/thread_members_update.ts";
|
||||
import { Emoji } from "../emojis/emoji.ts";
|
||||
import { GatewayPayload } from "../gateway/gateway_payload.ts";
|
||||
import { DiscordGatewayPayload } from "../gateway/gateway_payload.ts";
|
||||
import { IntegrationCreateUpdate } from "../integrations/integration_create_update.ts";
|
||||
import { IntegrationDelete } from "../integrations/integration_delete.ts";
|
||||
import { ApplicationCommandCreateUpdateDelete } from "../interactions/commands/application_command_create_update_delete.ts";
|
||||
import { Interaction } from "../interactions/interaction.ts";
|
||||
import { InviteCreate } from "../invites/invite_create.ts";
|
||||
import { InviteDelete } from "../invites/invite_delete.ts";
|
||||
import { MessageReactionAdd } from "../messages/message_reaction_add.ts";
|
||||
import { MessageReactionRemove } from "../messages/message_reaction_remove.ts";
|
||||
import { MessageReactionRemoveAll } from "../messages/message_reaction_remove_all.ts";
|
||||
import { TypingStart } from "../misc/typing_start.ts";
|
||||
import { User } from "../users/user.ts";
|
||||
import { VoiceServerUpdate } from "../voice/voice_server_update.ts";
|
||||
import { VoiceState } from "../voice/voice_state.ts";
|
||||
import { DebugArg } from "./debug_arg.ts";
|
||||
import { GuildUpdateChange } from "./guild_update_change.ts";
|
||||
import type { DiscordenoChannel } from "../../structures/channel.ts";
|
||||
import type { DiscordenoGuild } from "../../structures/guild.ts";
|
||||
import type { DiscordenoMember } from "../../structures/member.ts";
|
||||
import type { DiscordenoMessage } from "../../structures/message.ts";
|
||||
import type { DiscordenoRole } from "../../structures/role.ts";
|
||||
import type { Collection } from "../../util/collection.ts";
|
||||
import type { PresenceUpdate } from "../activity/presence_update.ts";
|
||||
import type { StageInstance } from "../channels/stage_instance.ts";
|
||||
import type { ThreadMember } from "../channels/threads/thread_member.ts";
|
||||
import type { ThreadMembersUpdate } from "../channels/threads/thread_members_update.ts";
|
||||
import type { Emoji } from "../emojis/emoji.ts";
|
||||
import type { GatewayPayload } from "../gateway/gateway_payload.ts";
|
||||
import type { DiscordGatewayPayload } from "../gateway/gateway_payload.ts";
|
||||
import type { IntegrationCreateUpdate } from "../integrations/integration_create_update.ts";
|
||||
import type { IntegrationDelete } from "../integrations/integration_delete.ts";
|
||||
import type { ApplicationCommandCreateUpdateDelete } from "../interactions/commands/application_command_create_update_delete.ts";
|
||||
import type { Interaction } from "../interactions/interaction.ts";
|
||||
import type { InviteCreate } from "../invites/invite_create.ts";
|
||||
import type { InviteDelete } from "../invites/invite_delete.ts";
|
||||
import type { MessageReactionAdd } from "../messages/message_reaction_add.ts";
|
||||
import type { MessageReactionRemove } from "../messages/message_reaction_remove.ts";
|
||||
import type { MessageReactionRemoveAll } from "../messages/message_reaction_remove_all.ts";
|
||||
import type { TypingStart } from "../misc/typing_start.ts";
|
||||
import type { User } from "../users/user.ts";
|
||||
import type { VoiceServerUpdate } from "../voice/voice_server_update.ts";
|
||||
import type { VoiceState } from "../voice/voice_state.ts";
|
||||
import type { DebugArg } from "./debug_arg.ts";
|
||||
import type { GuildUpdateChange } from "./guild_update_change.ts";
|
||||
|
||||
export type EventHandlersDefinitions = {
|
||||
/** Sent when a new Slash Command is created, relevant to the current user. */
|
||||
|
||||
@@ -174,8 +174,6 @@ export const ws = {
|
||||
log,
|
||||
/** Handles resharding the bot when necessary. */
|
||||
resharder,
|
||||
/** Cleanups loading shards that were unable to load. */
|
||||
cleanupLoadingShards,
|
||||
};
|
||||
|
||||
export interface DiscordenoShard {
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
import { ws } from "./ws.ts";
|
||||
|
||||
/** The handler to clean up shards that identified but never received a READY. */
|
||||
export function cleanupLoadingShards() {
|
||||
if (!ws.loadingShards.size) return;
|
||||
|
||||
ws.log("DEBUG", "Running setTimeout in cleanupLoadingShards function.");
|
||||
const now = Date.now();
|
||||
ws.loadingShards.forEach((loadingShard) => {
|
||||
ws.log("DEBUG", `Running forEach loop in cleanupLoadingShards function.`);
|
||||
// Not a minute yet. Max should be few seconds but do a minute to be safe.
|
||||
if (now < loadingShard.startedAt + 60000) return;
|
||||
|
||||
loadingShard.reject(
|
||||
`[Identify Failure] Shard ${loadingShard.shardId} has not received READY event in over a minute.`
|
||||
);
|
||||
});
|
||||
|
||||
if (ws.loadingShards.size) setTimeout(cleanupLoadingShards, 10000);
|
||||
}
|
||||
@@ -54,10 +54,11 @@ export function identify(shardId: number, maxShards: number) {
|
||||
ws.loadingShards.set(shardId, {
|
||||
shardId,
|
||||
resolve,
|
||||
reject,
|
||||
startedAt: Date.now(),
|
||||
});
|
||||
|
||||
ws.cleanupLoadingShards();
|
||||
setTimeout(() => {
|
||||
reject(`[Identify Failure] Shard ${shardId} has not received READY event in over a minute.`);
|
||||
}, 600000);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
export * from "./cleanup_loading_shards.ts";
|
||||
export * from "./create_shard.ts";
|
||||
export * from "./events.ts";
|
||||
export * from "./handle_discord_payload.ts";
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { DiscordGatewayOpcodes } from "../types/codes/gateway_opcodes.ts";
|
||||
import { Collection } from "../util/collection.ts";
|
||||
import { cleanupLoadingShards } from "./cleanup_loading_shards.ts";
|
||||
import { closeWS } from "./close_ws.ts";
|
||||
import { createShard } from "./create_shard.ts";
|
||||
import { log } from "./events.ts";
|
||||
@@ -78,7 +77,6 @@ export const ws = {
|
||||
{
|
||||
shardId: number;
|
||||
resolve: (value: unknown) => void;
|
||||
reject: (reason?: unknown) => void;
|
||||
startedAt: number;
|
||||
}
|
||||
>(),
|
||||
@@ -112,8 +110,6 @@ export const ws = {
|
||||
log,
|
||||
/** Handles resharding the bot when necessary. */
|
||||
resharder,
|
||||
/** Cleanups loading shards that were unable to load. */
|
||||
cleanupLoadingShards,
|
||||
/** Handles the message events from websocket. */
|
||||
handleOnMessage,
|
||||
/** Handles processing queue of requests send to this shard. */
|
||||
|
||||
Reference in New Issue
Block a user