diff --git a/.gitignore b/.gitignore index 92785dd..b6e7b52 100644 --- a/.gitignore +++ b/.gitignore @@ -116,4 +116,6 @@ GitHub.sublime-settings !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json -.history \ No newline at end of file +.history + +*pb2* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 15d2536..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,51 +0,0 @@ -stages: - - build - - deploy-dev - - deploy-prod - -build: - stage: build - tags: - - dev - before_script: - - docker login -u mathwave -p $DOCKERHUB_PASSWORD - script: - - docker build -t mathwave/sprint-repo:pizda-bot . - -push: - stage: build - tags: - - dev - before_script: - - docker login -u mathwave -p $DOCKERHUB_PASSWORD - script: - - docker push mathwave/sprint-repo:pizda-bot - -.deploy: - before_script: - - docker login -u mathwave -p $DOCKERHUB_PASSWORD - -deploy-dev: - extends: - - .deploy - stage: deploy-dev - tags: - - dev - rules: - - if: '$CI_COMMIT_BRANCH == "master"' - when: on_success - - when: manual - script: - - docker stack deploy --with-registry-auth -c ./.deploy/deploy-dev.yaml pizda-bot - -deploy-prod: - extends: - - .deploy - stage: deploy-prod - tags: - - prod - only: - - master - when: manual - script: - - docker stack deploy --with-registry-auth -c ./.deploy/deploy-prod.yaml pizda-bot diff --git a/api.py b/daemons/api.py similarity index 97% rename from api.py rename to daemons/api.py index 4b70f59..6302c28 100644 --- a/api.py +++ b/daemons/api.py @@ -2,7 +2,7 @@ from collections import defaultdict from flask import Flask -from mongo import mongo +from utils.mongo import mongo app = Flask(__name__) diff --git a/daemons/base.py b/daemons/base.py index 8bd8646..7e5cfd9 100644 --- a/daemons/base.py +++ b/daemons/base.py @@ -1,3 +1,13 @@ -class BaseDaemon: +import os + + +stage = os.getenv("STAGE", 'local') +if stage == 'local': + QUEUES_URL = 'localhost:50051' +else: + QUEUES_URL = 'queues-grpc:50051' + + +class Daemon: def execute(self): - raise NotImplementedError + raise NotImplemented diff --git a/updater.py b/daemons/updater.py similarity index 97% rename from updater.py rename to daemons/updater.py index 914e2a4..e7b1ef9 100644 --- a/updater.py +++ b/daemons/updater.py @@ -2,7 +2,7 @@ import datetime import random from time import sleep -from mongo import mongo +from utils.mongo import mongo def update(): diff --git a/daemons/worker.py b/daemons/worker.py index 06e43f3..4d5b7f7 100644 --- a/daemons/worker.py +++ b/daemons/worker.py @@ -6,9 +6,9 @@ from utils import queues from telebot.types import Message import json -from mongo import mongo -from sprint_platform import PlatformClient -from storage import set_values, get_chat_info +from utils.mongo import mongo +from utils.sprint_platform import PlatformClient +from utils.storage import set_values, get_chat_info security_token = os.getenv("PLATFORM_SECURITY_TOKEN") stage = os.getenv("STAGE", 'local') @@ -39,7 +39,7 @@ def get_replies(): return client.get_config('replies') -class Daemon(base.BaseDaemon, queues.TasksHandlerMixin): +class Daemon(base.Daemon, queues.TasksHandlerMixin): @property def queue_name(self): return 'pizda_bot_worker' diff --git a/launch.json b/launch.json deleted file mode 100644 index e69de29..0000000 diff --git a/local_platform.json b/local_platform.json deleted file mode 100644 index 2f9654d..0000000 --- a/local_platform.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "configs": {}, - "experiments": {}, - "platform_staff": {} -} \ No newline at end of file diff --git a/main.py b/main.py index f31884a..254d14f 100644 --- a/main.py +++ b/main.py @@ -6,7 +6,7 @@ if arg == 'worker': from daemons import worker daemon = worker.Daemon() else: - from api import app + from daemons.api import app app.run(host="0.0.0.0", port=1238) daemon.execute() diff --git a/settings.py b/settings.py deleted file mode 100644 index 9fa7f48..0000000 --- a/settings.py +++ /dev/null @@ -1,10 +0,0 @@ -import os -import sys -import zoneinfo - -MONGO_USER = os.getenv("MONGO_USER", "mongo") -MONGO_PASSWORD = os.getenv("MONGO_PASSWORD", "password") -MONGO_HOST = os.getenv("MONGO_HOST", "localhost") - -CACHE_SIZE = int(os.getenv("CACHE_SIZE", 1000)) -CACHE_TTL = int(os.getenv("CACHE_TTL", 3600)) diff --git a/mongo.py b/utils/mongo.py similarity index 84% rename from mongo.py rename to utils/mongo.py index fe206df..ef19da4 100644 --- a/mongo.py +++ b/utils/mongo.py @@ -1,10 +1,14 @@ import pymongo -import settings +import os + +MONGO_USER = os.getenv("MONGO_USER", "mongo") +MONGO_PASSWORD = os.getenv("MONGO_PASSWORD", "password") +MONGO_HOST = os.getenv("MONGO_HOST", "localhost") class Mongo: def __init__(self): - url = f"mongodb://{settings.MONGO_USER}:{settings.MONGO_PASSWORD}@{settings.MONGO_HOST}:27017/" + url = f"mongodb://{MONGO_USER}:{MONGO_PASSWORD}@{MONGO_HOST}:27017/" self.client = pymongo.MongoClient(url) self.database = self.client.get_database("pizda-bot") self.chats_collection.create_index([ diff --git a/utils/queues.py b/utils/queues.py index 030bf34..c00a18c 100644 --- a/utils/queues.py +++ b/utils/queues.py @@ -1,4 +1,3 @@ -import json import os import requests import time diff --git a/sprint_platform.py b/utils/sprint_platform.py similarity index 100% rename from sprint_platform.py rename to utils/sprint_platform.py diff --git a/storage.py b/utils/storage.py similarity index 88% rename from storage.py rename to utils/storage.py index ed7c18d..2c5438d 100644 --- a/storage.py +++ b/utils/storage.py @@ -1,9 +1,12 @@ from cachetools import TTLCache +import os -import settings -from mongo import mongo +from utils.mongo import mongo -cache = TTLCache(settings.CACHE_SIZE, settings.CACHE_TTL) +CACHE_SIZE = int(os.getenv("CACHE_SIZE", 1000)) +CACHE_TTL = int(os.getenv("CACHE_TTL", 3600)) + +cache = TTLCache(CACHE_SIZE, CACHE_TTL) def get_chat_info(chat_id: int) -> dict: