setup timer for create database.
This commit is contained in:
@@ -1,23 +1,4 @@
|
|||||||
# FROM ubuntu:24.04
|
FROM node:23 AS frontend
|
||||||
|
|
||||||
# ADD ./loader/loader-crm /etc/cron.d/loader-crm
|
|
||||||
# RUN chmod 0644 /etc/cron/loader-crm
|
|
||||||
# RUN touch /var/log/chron.log
|
|
||||||
|
|
||||||
# RUN apt-get update
|
|
||||||
# RUN apt-get -y install cron
|
|
||||||
# RUN systemctl enable cron
|
|
||||||
|
|
||||||
# Setup the loader
|
|
||||||
FROM python:3.12 AS loader
|
|
||||||
COPY ./loader /srv/cprush-stats
|
|
||||||
WORKDIR /srv/cprush-stats
|
|
||||||
RUN python -m pip install --upgrade pip
|
|
||||||
RUN pip install -r requirements.txt
|
|
||||||
|
|
||||||
CMD ["python3", "createrushdatabase.py"]
|
|
||||||
|
|
||||||
FROM node:23
|
|
||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
@@ -25,27 +6,36 @@ RUN corepack enable
|
|||||||
COPY ./frontend /frontend
|
COPY ./frontend /frontend
|
||||||
WORKDIR /frontend
|
WORKDIR /frontend
|
||||||
RUN npm install
|
RUN npm install
|
||||||
RUN npm run build
|
CMD ["npm", "run", "build"]
|
||||||
RUN mkdir -p /srv/cprush-stats/frontend
|
# RUN mkdir -p /srv/cprush-stats/frontend
|
||||||
RUN cp -rf ./dist/* /srv/cprush-stats/frontend
|
# RUN cp -rf ./dist/* /srv/cprush-stats/frontend
|
||||||
|
|
||||||
|
FROM node:23 AS backend
|
||||||
|
|
||||||
|
RUN corepack enable
|
||||||
|
|
||||||
# build the backend
|
# build the backend
|
||||||
COPY ./backend /backend
|
COPY ./backend /backend
|
||||||
WORKDIR /backend
|
WORKDIR /backend
|
||||||
RUN npm install
|
RUN npm install
|
||||||
RUN npm run build
|
CMD ["npm", "run", "build"]
|
||||||
RUN mkdir -p /srv/cprush-stats
|
# RUN mkdir -p /srv/cprush-stats
|
||||||
RUN cp -rf ./dist/* /srv/cprush-stats
|
# RUN cp -rf ./dist/* /srv/cprush-stats
|
||||||
RUN cp package.json /srv/cprush-stats/package.json
|
# RUN cp package.json /srv/cprush-stats/package.json
|
||||||
|
|
||||||
WORKDIR loader
|
FROM node:23 AS server
|
||||||
|
|
||||||
|
RUN corepack enable
|
||||||
|
|
||||||
|
RUN mkdir -p /srv/cprush-stats/frontend
|
||||||
|
COPY --from=frontend /frontend/dist /srv/cprush-stats/frontend
|
||||||
|
COPY --from=backend /backend/dist /srv/cprush-stats
|
||||||
|
COPY --from=backend /backend/package.json /srv/cprush-stats/package.json
|
||||||
|
|
||||||
EXPOSE 3001
|
EXPOSE 3001
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
ENV MEMCACHE_ADDR="localhost:11211"
|
ENV MEMCACHE_ADDR="localhost:11211"
|
||||||
|
|
||||||
COPY --from=loader /srv/cprush-stats/testdb.db /srv/cprush-stats/testdb.db
|
|
||||||
|
|
||||||
WORKDIR /srv/cprush-stats
|
WORKDIR /srv/cprush-stats
|
||||||
RUN npm install
|
RUN npm install
|
||||||
CMD ["sh", "-c", "node app.js -m $MEMCACHE_ADDR"]
|
CMD ["sh", "-c", "node app.js -m $MEMCACHE_ADDR"]
|
||||||
@@ -19,7 +19,6 @@ const port = process.argv[process.argv.indexOf('-p')]
|
|||||||
const memcache_addr = process.argv[process.argv.indexOf('-m')]
|
const memcache_addr = process.argv[process.argv.indexOf('-m')]
|
||||||
? process.argv[process.argv.indexOf('-m') + 1]
|
? process.argv[process.argv.indexOf('-m') + 1]
|
||||||
: 'localhost:11211'
|
: 'localhost:11211'
|
||||||
// const memcache = new memcached('localhost:11211', {})
|
|
||||||
const memcachep = new Memcache(memcache_addr)
|
const memcachep = new Memcache(memcache_addr)
|
||||||
|
|
||||||
addGameApis(app, jsonParser, memcachep)
|
addGameApis(app, jsonParser, memcachep)
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
cprush:
|
cprush:
|
||||||
image: potato
|
# image: potato
|
||||||
|
build: ./app
|
||||||
networks:
|
networks:
|
||||||
- cprush-net
|
- cprush-net
|
||||||
environment:
|
environment:
|
||||||
@@ -15,6 +16,10 @@ services:
|
|||||||
- 3001:3001
|
- 3001:3001
|
||||||
depends_on:
|
depends_on:
|
||||||
- memcache
|
- memcache
|
||||||
|
loader:
|
||||||
|
build: ./loader
|
||||||
|
environment:
|
||||||
|
- REPLAY_TIME=600
|
||||||
memcache:
|
memcache:
|
||||||
image: memcached
|
image: memcached
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
11
loader/Dockerfile
Normal file
11
loader/Dockerfile
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Setup the loader
|
||||||
|
FROM python:3.12 AS loader
|
||||||
|
COPY . /loader
|
||||||
|
WORKDIR /loader
|
||||||
|
RUN python -m pip install --upgrade pip
|
||||||
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
|
ENV REPLAY_TIME=0
|
||||||
|
|
||||||
|
|
||||||
|
CMD ["sh", "-c", "python3 createrushdatabase.py -r $REPLAY_TIME"]
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
|
|
||||||
|
|
||||||
PYTHON_VEN="$parent_path"/venv/bin/python
|
|
||||||
if [ ! -f $PYTHON_VEN ]; then
|
|
||||||
echo "Setting up new VENV"
|
|
||||||
python3 -m venv venv
|
|
||||||
echo "Installing requirements."
|
|
||||||
source ./venv/bin/activate
|
|
||||||
pip install -r requirements.txt
|
|
||||||
deactivate
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Start DB Creation"
|
|
||||||
$parent_path/venv/bin/python createrushdatabase.py
|
|
||||||
@@ -1,14 +1,29 @@
|
|||||||
|
import time
|
||||||
|
import argparse
|
||||||
|
|
||||||
from databasesync import createDatabase
|
from databasesync import createDatabase
|
||||||
from sheetloader import downloadGamesCSV, downloadCharactersCSV
|
from sheetloader import downloadGamesCSV, downloadCharactersCSV
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("-r", "--replay_time", type=int)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
CHARACTER_DATA_OUT_FILE = "CharacterData.csv"
|
CHARACTER_DATA_OUT_FILE = "CharacterData.csv"
|
||||||
GAME_DATA_OUT_FILE = "GameData.csv"
|
GAME_DATA_OUT_FILE = "GameData.csv"
|
||||||
DATABASE_NAME = "testdb.db"
|
DATABASE_NAME = "testdb.db"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def execute():
|
def execute():
|
||||||
downloadCharactersCSV(CHARACTER_DATA_OUT_FILE)
|
downloadCharactersCSV(CHARACTER_DATA_OUT_FILE)
|
||||||
downloadGamesCSV(GAME_DATA_OUT_FILE)
|
downloadGamesCSV(GAME_DATA_OUT_FILE)
|
||||||
createDatabase(DATABASE_NAME, GAME_DATA_OUT_FILE, CHARACTER_DATA_OUT_FILE)
|
createDatabase(DATABASE_NAME, GAME_DATA_OUT_FILE, CHARACTER_DATA_OUT_FILE)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
print("starting up loader.")
|
||||||
|
print("replay time: ", args.replay_time)
|
||||||
execute()
|
execute()
|
||||||
|
while args.replay_time and args.replay_time > 0:
|
||||||
|
print("re-run in ", args.replay_time, "seconds", flush=True)
|
||||||
|
time.sleep(args.replay_time)
|
||||||
|
execute()
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
*/10 * * * * python3 /loader/createrushdatabase.py
|
|
||||||
Reference in New Issue
Block a user