django-squirrel

Background workers based on rabbit-mq integration.


License
BSD-3-Clause
Install
pip install django-squirrel==0.2.17

Documentation

Squirrel

  • CodeName: Katana
  • Current version: 0.2.0.katana.13092019

ToC

Pre installation

Required Packages

sudo apt update -y && sudo apt install wget git

Install RabbitMQ-Server

Require Ubuntu 18+

# Add repository to repo list
echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list

# Add signing-key
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

# Update apt caches and install RabbitMQ-Server 
sudo apt update && sudo apt install rabbitmq-server -y 

RabbitMQ Usage

Service Management

# Enable RabbitMQ Server service
sudo systemctl enable rabbitmq-server

# Start|Stop|Restart RabbitMQ Server service 
sudo systemctl {start|stop|restart} rabbitmq-server

# Disable RabbitMQ Server service
sudo systemctl disable rabbitmq-server

Need more help?, Please see RabbitMQ OD

Install

  1. Install Pip Squirrel package
(pyenv) $ pip install django-squirrel
  1. Install app on django
# /project_name/settings.py

INSTALLED_APPS = [
    '...'
    'squirrel',
]

Usage

Development

Running squirrel's workers development mode

# Squirrel run server
python manage.py run_server -v3

Production

Running squirrel's workers production mode

run_server command optional arguments

Argument type Description
--port Int RabbitMQ Custom Port
--hostname String RabbitMQ Custom Host
--username String RabbitMQ Custom username
--password String RabbitMQ Custom password
--virtual-host String RabbitMQ Custom virtual-host
--incoming-queue String RabbitMQ Custom Incoming queue
--outgoing-queue String RabbitMQ Custom Outgoing queue
-v {0,1,2,3}, --verbosity {0,1,2,3} *Flag Logs Verbosity

* About Logs:

  • Minimal: -v0
  • Warnings: -v1
  • Information: -v2
  • Debug: -v3
# Squirrel run drone
python manage.py run_server [OPTIONAL ARGUMENTS]

Credits

TODO!