Skip to content

SuperSolik/python_intern

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python_intern


requirements

  • python 3.9
  • В изначальном коде менять можно всё, вплоть до структуры файлов.
  • Использовать можно всё что угодно.
  • Таски со звёздочкой можно пропускать (или делать часть из них)
  • Решение выложить через fork/копию/etc репозитория на github

TODO

  • реализовать функцию is_alive_host

  • покрыть функцию тестами

  • развернуть вокруг функции веб сервис c помощью fastapi

>> curl your_service.loc:8001/healthz?hostname=semrush.com
{status: [up|down]}
  • задача со звёздочкой: завернуть приложение в docker
  • задача на две звёздочки: выкатить куда-либо с помощью github-actions/gitlab/jenkins/etc

DONE

  • is_alive_host logic
  • tests
  • service
  • Docker
  • github actions

Installation and run

Uses Python 3.9, aiohttp, FastAPI, pytest-asyncio

  1. install dependencies
    pip install -r requirements.txt
  2. run tests:
    pytest tests.py
  3. start
    dev:
    uvicorn service:app --host=127.0.0.1 --port=8001 --reload
    prod:
    gunicorn service:app --bind=127.0.0.1:8001 -w 4 -k uvicorn.workers.UvicornH11Worker
    docker:
    docker build --tag petrov-python-intern:latest .
    docker run -p 8001:8001 -e PORT=8001 -d --name petrov-python-intern petrov-python-intern:latest
    heroku:
    app available at https://semrush-petrov-python-intern.herokuapp.com/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 86.6%
  • Dockerfile 13.4%