root/media-relay

Revision 217, 2.0 kB (checked in by Dan Pascu <dan@ag-projects.com>, 7 months ago)

Renamed application scripts from mp-xxx to media-xxx

Line 
1#!/usr/bin/env python
2
3# Copyright (C) 2008 AG Projects
4#
5
6"""MediaProxy Relay component"""
7
8
9if __name__ == "__main__":
10    import sys
11    from optparse import OptionParser
12    from application.process import process, ProcessError
13    from application import log
14    import mediaproxy
15
16    name = "media-relay"
17    fullname = "MediaProxy Relay"
18    description = "MediaProxy Relay component"
19
20    default_pid = mediaproxy.runtime_directory + '/relay.pid'
21
22    parser = OptionParser(version="%%prog %s" % mediaproxy.__version__)
23    parser.add_option("--no-fork", action="store_false", dest="fork", default=1, help="run the process in the foreground (for debugging)")
24    parser.add_option("--pid", dest="pid_file", default=default_pid, help="pid file (%s)" % default_pid, metavar="File")
25    (options, args) = parser.parse_args()
26
27    if sys.platform != 'linux2':
28        log.fatal("Cannot start %s. A Linux host is required for operation." % fullname)
29        sys.exit(1)
30
31    pid_file = options.pid_file
32
33    process._system_config_directory = mediaproxy.system_config_directory
34    try:
35        process.runtime_directory = mediaproxy.runtime_directory
36    except ProcessError, e:
37        log.fatal("Cannot start %s: %s" % (fullname, e))
38        sys.exit(1)
39
40    if options.fork:
41        try:
42            process.daemonize(pid_file)
43        except ProcessError, e:
44            log.fatal("Cannot start %s: %s" % (fullname, e))
45            sys.exit(1)
46        log.startSyslog(name)
47
48    log.msg("Starting %s %s" % (fullname, mediaproxy.__version__))
49
50    try:
51        from mediaproxy.relay import MediaRelay
52        if not options.fork:
53            from application.debug.memory import *
54        relay = MediaRelay()
55    except Exception, e:
56        log.fatal("failed to create %s: %s" % (fullname, e))
57        if e.__class__ is not RuntimeError:
58            log.err()
59        sys.exit(1)
60
61    relay.run()
62
63    if not options.fork:
64        #from application.debug.memory import *
65        memory_dump()
Note: See TracBrowser for help on using the browser.