Code Monkey home page Code Monkey logo

flask_celery_skeleton's Introduction

Setup Instructions

Clone repository

git clone https://github.com/SeanEstey/flask_celery_skeleton --branch <b_name>
cd flask_celery_skeleton

Ubuntu/Python Packages

Follow instructions in requirements/pkg_list.txt and requirements/requirements.txt

Run setup

python setup.py

This will copy nginx virtual host file and setup logrotate.d

MongoDB

Create "db_auth.py" in Bravo root directory:

user = "db_user"
password = "db_pw"

Run Instructions

Start RabbitMQ daemon:

$ rabbitmqctl start_app

Run app:

python run.py

Arguments

-Start with celerybeat:

-c, --celerybeat

-Start in debug mode:

-d, --debug

Shutdown Instructions

If running in foreground, kill with CTRL+C. This will kill Celery workers.

If running in background, get pid:

$ps aux | grep -m 1 'python main.py' | awk '{print $2}'

Now kill it using that PID:

$kill -9 <PID>

(May need to run twice)

Monitoring

Monitor Celery worker(s) with Flower:

pip install flower

To run it:

flower --url_prefix=flower --basic_auth=user1:password1

To access it remotely through the browser, add the following to the nginx virtual_host file:

server {
    listen 80;
    server_name ip_or_hostname.ca;

    location /flower/ {
        rewrite ^/flower/(.*)$ /$1 break;
        proxy_pass http://127.0.0.1:5555;
        proxy_set_header Host $host;
    }

Restart nginx:

service nginx restart

It should now be accessible and secured via http://ip_or_hostname.ca/flower

Notes

To free memory not released by abberant python/celery processes:

$ sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

flask_celery_skeleton's People

Watchers

James Cloos avatar Sean Estey avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.