mirror of
https://github.com/Balshgit/mosgortrans.git
synced 2025-09-11 13:00:40 +03:00
reworked to docker and selenoid
This commit is contained in:
parent
98b5bfe2a6
commit
6c8b27963b
@ -4,7 +4,7 @@ from aiogram import Bot, types
|
|||||||
from aiogram.contrib.middlewares.logging import LoggingMiddleware
|
from aiogram.contrib.middlewares.logging import LoggingMiddleware
|
||||||
from aiogram.dispatcher import Dispatcher
|
from aiogram.dispatcher import Dispatcher
|
||||||
from aiogram.utils.callback_data import CallbackData
|
from aiogram.utils.callback_data import CallbackData
|
||||||
from app.core.parse_web import get_driver, get_driver_session, parse_site
|
from app.core.parse_web import get_driver, parse_site
|
||||||
from app.settings import API_TOKEN
|
from app.settings import API_TOKEN
|
||||||
|
|
||||||
bot = Bot(token=API_TOKEN)
|
bot = Bot(token=API_TOKEN)
|
||||||
@ -12,9 +12,6 @@ dispatcher = Dispatcher(bot)
|
|||||||
dispatcher.middleware.setup(LoggingMiddleware())
|
dispatcher.middleware.setup(LoggingMiddleware())
|
||||||
|
|
||||||
|
|
||||||
driver = get_driver()
|
|
||||||
session_id = get_driver_session(driver)
|
|
||||||
|
|
||||||
stations_cb = CallbackData('station', 'direction')
|
stations_cb = CallbackData('station', 'direction')
|
||||||
|
|
||||||
|
|
||||||
@ -39,6 +36,7 @@ def get_keyboard() -> types.InlineKeyboardMarkup:
|
|||||||
async def home_office(
|
async def home_office(
|
||||||
query: types.CallbackQuery, callback_data: dict[str, str]
|
query: types.CallbackQuery, callback_data: dict[str, str]
|
||||||
) -> types.Message:
|
) -> types.Message:
|
||||||
|
driver = get_driver()
|
||||||
|
|
||||||
text = parse_site(
|
text = parse_site(
|
||||||
driver=driver,
|
driver=driver,
|
||||||
@ -56,7 +54,7 @@ async def home_office(
|
|||||||
async def office_home(
|
async def office_home(
|
||||||
query: types.CallbackQuery, callback_data: dict[str, str]
|
query: types.CallbackQuery, callback_data: dict[str, str]
|
||||||
) -> types.Message:
|
) -> types.Message:
|
||||||
|
driver = get_driver()
|
||||||
text = parse_site(
|
text = parse_site(
|
||||||
driver=driver,
|
driver=driver,
|
||||||
url='https://yandex.ru/maps/213/moscow/stops/stop__9640288/?'
|
url='https://yandex.ru/maps/213/moscow/stops/stop__9640288/?'
|
||||||
@ -82,7 +80,7 @@ async def echo(message: types.Message) -> types.Message:
|
|||||||
|
|
||||||
|
|
||||||
async def morning_bus_mailing(chat_ids: list[int]) -> None:
|
async def morning_bus_mailing(chat_ids: list[int]) -> None:
|
||||||
|
driver = get_driver()
|
||||||
text = parse_site(
|
text = parse_site(
|
||||||
driver=driver,
|
driver=driver,
|
||||||
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
|
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
|
||||||
|
@ -56,6 +56,8 @@ RUN poetry version \
|
|||||||
&& if [ "$USER" != 'root' ]; then rm -rf "$POETRY_CACHE_DIR"; fi
|
&& if [ "$USER" != 'root' ]; then rm -rf "$POETRY_CACHE_DIR"; fi
|
||||||
|
|
||||||
COPY --chown="$USER":"$USER" ./app /app/
|
COPY --chown="$USER":"$USER" ./app /app/
|
||||||
|
COPY ./scripts/start-bot.sh .
|
||||||
|
RUN chmod +x ./start-bot.sh
|
||||||
|
|
||||||
USER "$USER"
|
USER "$USER"
|
||||||
|
|
||||||
|
@ -24,8 +24,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./deploy/browsers.json:/etc/selenoid/browsers.json:ro
|
- ./deploy/browsers.json:/etc/selenoid/browsers.json:ro
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
environment:
|
|
||||||
- SESSION_TIMED_OUT=12h
|
|
||||||
command: ["-conf", "/etc/selenoid/browsers.json", "-limit", "10", "-container-network", "transport_bot_network"]
|
command: ["-conf", "/etc/selenoid/browsers.json", "-limit", "10", "-container-network", "transport_bot_network"]
|
||||||
expose:
|
expose:
|
||||||
- "4444"
|
- "4444"
|
||||||
@ -44,5 +42,4 @@ services:
|
|||||||
ipv4_address: 200.20.0.11
|
ipv4_address: 200.20.0.11
|
||||||
ports:
|
ports:
|
||||||
- "8084:8084"
|
- "8084:8084"
|
||||||
command: >
|
command: bash start-bot.sh
|
||||||
bash -c "python main.py"
|
|
@ -5,7 +5,7 @@ After=network-online.target
|
|||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
WorkingDirectory=/opt/mosgortrans
|
WorkingDirectory=/opt/mosgortrans
|
||||||
ExecStart=/bin/bash /opt/mosgortrans/scripts/start-bot.sh
|
ExecStart=/usr/local/bin/docker-compose -f /opt/mosgortrans/docker-compose.yml up
|
||||||
ExecStop=/bin/bash /opt/mosgortrans/scripts/stop-bot.sh
|
ExecStop=/usr/local/bin/docker-compose -f /opt/mosgortrans/docker-compose.yml down -v
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
@ -1,17 +1,15 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
|
|
||||||
echo "starting the bot"
|
echo "starting the bot"
|
||||||
cd /opt/mosgortrans \
|
|
||||||
&& source /home/balsh/.cache/pypoetry/virtualenvs/mosgortrans-3eZxMcY3-py3.10/bin/activate \
|
gunicorn main:create_app \
|
||||||
&& gunicorn app.main:create_app \
|
--bind 127.0.0.1:8084 \
|
||||||
--bind prod-server.lan:8084 \
|
|
||||||
--worker-class aiohttp.GunicornWebWorker \
|
--worker-class aiohttp.GunicornWebWorker \
|
||||||
--timeout 150 \
|
--timeout 150 \
|
||||||
--max-requests 2000 \
|
--max-requests 2000 \
|
||||||
--max-requests-jitter 400 \
|
--max-requests-jitter 400 \
|
||||||
--chdir "/opt/mosgortrans/logs" \
|
--chdir "/app/logs" \
|
||||||
--log-level info \
|
--log-level info \
|
||||||
--error-logfile "/opt/mosgortrans/logs/gunicorn_err.log" \
|
--error-logfile "/app/logs/gunicorn_err.log" \
|
||||||
--worker-tmp-dir "/tmp" \
|
--worker-tmp-dir "/tmp" \
|
||||||
--pid "/opt/mosgortrans/logs/gunicorn_pid"
|
--pid "/app/logs/gunicorn_pid"
|
Loading…
x
Reference in New Issue
Block a user