~george-edison55/audataserver-proxy/trunk

« back to all changes in this revision

Viewing changes to audataserver-proxy

  • Committer: Nathan Osman
  • Date: 2011-11-02 17:45:24 UTC
  • Revision ID: admin@quickmediasolutions.com-20111102174524-t9nfxnoph2iptdls
Added new command line option, updated manpage, and fixed some small issues with the init.d script.

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
    data_dump = '/opt/se-data-dumps/askubuntu.ddi'
50
50
    
51
51
    def start(self):
52
 
        print '\33[33mSpawning data manager thread...\33[m'
 
52
        cherrypy.log('\33[33mSpawning data manager thread...\33[m')
53
53
        self.data_manager = threaded_aulibrary(self.data_dump)
54
54
    
55
55
    def stop(self):
56
 
        print '\33[33mShutting down data manager thread...\33[m'
 
56
        cherrypy.log('\33[33mShutting down data manager thread...\33[m')
57
57
        self.data_manager.shutdown()
58
 
        print '\33[32mData manager thread terminated.\33[m'
 
58
        cherrypy.log('\33[32mData manager thread terminated.\33[m')
59
59
    
60
60
    def search(self, search_terms):
61
61
        return self.data_manager.search(search_terms)
65
65
# our process ID in a file - this will be specified on the
66
66
# command line by the init.d script when applicable.
67
67
try:
68
 
    options, args = getopt(argv[1:], 'p:', ['pid-file='])
 
68
    options, args = getopt(argv[1:], 'p:q', ['pid-file=', 'quiet'])
69
69
except GetoptError as e:
70
70
    print >> stderr, str(e)
71
71
    exit(1)
72
72
 
73
73
# Parse the command line options
74
74
pid_filename = None
 
75
quiet        = False
75
76
for option, value in options:
76
77
    if option in ['-p', '--pid-file']:
77
78
        pid_filename = value
78
 
        # Check to see if the file exists
79
 
        # We have encountered an error if it does
80
 
        try:
81
 
            open(pid_filename, 'r')
82
 
            print >> stderr, '''The file %s already exists. This likely indicates that the application is already running. If this is not the case, please delete the lock file.''' % pid_filename
83
 
            exit(1)
84
 
        except IOError as e:
85
 
            if fork():
86
 
                exit(0)
87
 
            pid_file = open(pid_filename, 'w')
88
 
            pid_file.write(str(getpid()))
89
 
            pid_file.close()
 
79
    if option in ['-q', '--quiet']:
 
80
        quiet = True
 
81
 
 
82
if not pid_filename is None:
 
83
    # Check to see if the file exists
 
84
    # We have encountered an error if it does
 
85
    try:
 
86
        pid_file = open(pid_filename, 'w')
 
87
        if fork():
 
88
            exit(0)
 
89
        pid_file.write(str(getpid()))
 
90
        pid_file.close()
 
91
    except IOError as e:
 
92
        print >> stderr, '''The file %s could not be opened for writing. This likely indicates that the application is already running. If this is not the case, please delete the lock file.''' % pid_filename
 
93
        exit(1)
90
94
 
91
95
cherrypy.engine.data_manager = DataManager(cherrypy.engine)
92
96
cherrypy.quickstart(DataServerApp(), config={'global': {
93
 
    'tools.encode.encoding': 'utf-8',
94
 
    'server.socket_host': '0.0.0.0',
95
 
    'server.socket_port': 19115,
 
97
    'tools.encode.encoding':  'utf-8',
 
98
    'server.socket_host':     '0.0.0.0',
 
99
    'server.socket_port':     19115,
 
100
    'log.screen':             not quiet,
96
101
    'engine.data_manager.on': True,
97
102
}})
98
103