Skip to content
Snippets Groups Projects
Commit 3f5a6fcf authored by ale's avatar ale
Browse files

add daemonization

parent 150efe3f
Branches
No related tags found
No related merge requests found
......@@ -4,6 +4,7 @@ import optparse
import shutil
from datetime import datetime
from flask import Flask, request, abort, jsonify
from djrandom import daemonize
from djrandom import utils
from djrandom.model.mp3 import MP3
from djrandom.database import Session, init_db
......@@ -53,12 +54,20 @@ def upload(sha1):
return jsonify(status=True)
def run_receiver(port, storage_dir, db_url):
global storage_root
storage_root = storage_dir
init_db(db_url)
app.run(host='0.0.0.0', port=port, debug=True, use_reloader=False)
def main():
parser = optparse.OptionParser()
parser.add_option('--xapian_db_dir')
parser.add_option('--port', type='int', default=3002)
parser.add_option('--storage_dir')
parser.add_option('--db_url')
daemonize.add_standard_options(parser)
utils.read_config_defaults(
parser, os.getenv('DJRANDOM_CONF', '/etc/djrandom.conf'))
opts, args = parser.parse_args()
......@@ -66,14 +75,13 @@ def main():
parser.error('Must provide --xapian_db_dir')
if not opts.storage_dir:
parser.error('Must provide --storage_dir')
if not opts.db_url:
parser.error('Must provide --db_url')
if args:
parser.error('Too many arguments')
global storage_root
storage_root = opts.storage_dir
init_db(opts.db_url)
app.run(host='0.0.0.0', port=opts.port, debug=True, use_reloader=False)
daemonize.daemonize(opts, run_receiver,
opts.port, opts.storage_dir, opts.db_url)
if __name__ == '__main__':
......
import os
import optparse
import logging
from djrandom import daemonize
from djrandom import utils
from djrandom.model.mp3 import MP3
from djrandom.database import Session, init_db
......@@ -38,21 +39,28 @@ class Scanner(object):
Session.commit()
def run_scanner(xapian_db_dir, db_url):
init_db(db_url)
scanner = Scanner(xapian_db_dir)
scanner.scan_db()
def main():
parser = optparse.OptionParser()
parser.add_option('--xapian_db_dir')
parser.add_option('--db_url')
daemonize.add_standard_options(parser)
utils.read_config_defaults(
parser, os.getenv('DJRANDOM_CONF', '/etc/djrandom.conf'))
opts, args = parser.parse_args()
if not opts.xapian_db_dir:
parser.error('Must provide --xapian_db_dir')
if not opts.db_url:
parser.error('Must provide --db_url')
if args:
parser.error('Too many arguments')
logging.basicConfig(level=logging.DEBUG)
init_db(opts.db_url)
scanner = Scanner(opts.xapian_db_dir)
scanner.scan_db()
daemonize.daemonize(opts, run_scanner, opts.xapian_db_dir, opts.db_url)
if __name__ == '__main__':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment