forked from spotify/luigi
/
luigid
executable file
·34 lines (30 loc) · 1.31 KB
/
luigid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python
import luigi.server
import luigi.process
import os
import luigi.configuration
import optparse
import logging
parser = optparse.OptionParser()
parser.add_option('--background', help='Run in background mode', action='store_true')
parser.add_option('--pidfile', help='Write pidfile')
parser.add_option('--logdir', help='log directory')
parser.add_option('--state-path', help='Pickled state file')
parser.add_option('--address', help='Listening interface')
parser.add_option('--port', default=8082, help='Listening port')
opts, args = parser.parse_args()
if opts.state_path:
config = luigi.configuration.get_config()
config.set('scheduler', 'state-path', opts.state_path)
if opts.background:
# daemonize sets up logging to spooled log files
logging.getLogger().setLevel(logging.INFO)
luigi.process.daemonize(luigi.server.run, api_port=opts.port,
address=opts.address, pidfile=opts.pidfile,
logdir=opts.logdir)
else:
if opts.logdir:
logging.basicConfig(level=logging.INFO, format=luigi.process.get_log_format(), filename=os.path.join(opts.logdir, "luigi-server.log"))
else:
logging.basicConfig(level=logging.INFO, format=luigi.process.get_log_format())
luigi.server.run(api_port=opts.port, address=opts.address)