mirror of
https://github.com/AlecM33/Werewolf.git
synced 2025-12-26 07:47:50 +01:00
Dockerfile, terminate worker on reconnect
This commit is contained in:
13
Dockerfile
13
Dockerfile
@@ -1,20 +1,13 @@
|
||||
# Use the official lightweight Node.js 12 image.
|
||||
# https://hub.docker.com/_/node
|
||||
FROM node:14-slim
|
||||
|
||||
# Create and change to the app directory.
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Copy application dependency manifests to the container image.
|
||||
# A wildcard is used to ensure both package.json AND package-lock.json are copied.
|
||||
# Copying this separately prevents re-running npm install on every code change.
|
||||
COPY package*.json ./
|
||||
|
||||
# Install production dependencies.
|
||||
RUN npm install --only=production
|
||||
|
||||
# Copy local code to the container image.
|
||||
COPY . ./
|
||||
|
||||
# Run the web service on container startup.
|
||||
CMD [ "npm", "start" ]
|
||||
ENV NODE_ENV production
|
||||
|
||||
ENTRYPOINT ["node", "index.js", "--", "loglevel=debug" ]
|
||||
|
||||
@@ -52,7 +52,7 @@ export class InProgress {
|
||||
);
|
||||
setTimeout(() => {
|
||||
if (this.socket.hasListeners(globals.EVENT_IDS.GET_TIME_REMAINING)) {
|
||||
document.getElementById('game-timer').innerText = 'could not retrieve';
|
||||
document.getElementById('game-timer').innerText = 'Timer not found.';
|
||||
document.getElementById('game-timer').classList.add('timer-error');
|
||||
}
|
||||
}, 15000);
|
||||
|
||||
@@ -20,6 +20,10 @@ export const gameHandler = async (socket, XHRUtility, window, gameDOM) => {
|
||||
stateBucket.environment = response.content;
|
||||
|
||||
socket.on('connect', function () {
|
||||
if (stateBucket.timerWorker) {
|
||||
stateBucket.timerWorker.terminate();
|
||||
stateBucket.timerWorker = null;
|
||||
}
|
||||
SharedStateUtil.syncWithGame(
|
||||
stateBucket,
|
||||
socket,
|
||||
|
||||
Reference in New Issue
Block a user