zakharb / CeleryAPI

Service to work with Celery, Redis, FastAPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lush Font

description

🟩 Getting Started

CeleryAPI is the Service that parse website for Links and get additional infos from urls using Celery.

Requirements

FastAPI Docker Postgres

Installing

Clone the project

git clone git@github.com:zakharb/celeryapi.git
cd celeryapi

Start docker-compose

docker-compose up -d

🟩 Usage

🟩 Configuration

To solve problem with performance each Service run in container
Uvicorn work as ASGI server Main configuration is docker-compose.yml

  • every service located in separate directory name-service
  • use Dockerfile to change docker installation settings
  • folder app contain FastAPI application
  • all services connected to one piece in docker-compose.yml
  • example of service + DB containers (change --workers XX to increase multiprocessing)

Examples

Customer service

services:
  web:
    build: ./backend
    command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
    volumes:
      - ./backend/:/app/
    ports:
      - "8000:8000"
    env_file:
      - .env
    depends_on:
      - db
      - redis
      - worker

🟩 Deployment

Edit Dockerfile for each Microservice and deploy container

🟩 Versioning

Using SemVer for versioning. For the versions available, see the tags on this repository.

🟩 Authors

  • Zakhar Bengart - Initial work - Ze

See also the list of contributors who participated in this project.

🟩 License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation - see the LICENSE file for details

About

Service to work with Celery, Redis, FastAPI

License:GNU General Public License v3.0


Languages

Language:Python 97.6%Language:Dockerfile 2.4%