Skip to content

Commit 6ebf8b6

Browse files
committed
Use more recent entry point system for generating console scripts.
1 parent 48c1054 commit 6ebf8b6

File tree

6 files changed

+119
-130
lines changed

6 files changed

+119
-130
lines changed

pyres/scripts.py

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
#########################################################################
2+
#
3+
# Copyright (c) 2010 Polar Mobile Group Inc. All Rights Reserved.
4+
#
5+
# This software is confidential and proprietary intellectual property
6+
# of Polar Mobile Group Inc. ("Confidential Information"). You shall not
7+
# disclose such Confidential Information and shall use it only in
8+
# accordance with the terms of the license agreement you entered into
9+
# with Polar Mobile Group Inc.
10+
#
11+
#########################################################################
12+
import logging
13+
14+
from optparse import OptionParser
15+
16+
from itty import run_itty
17+
18+
from pyres.horde import Khan
19+
from pyres import setup_logging
20+
from pyres.scheduler import Scheduler
21+
from resweb import server
22+
from pyres.worker import Worker
23+
24+
25+
def pyres_manager():
26+
usage = "usage: %prog [options] arg1"
27+
parser = OptionParser(usage=usage)
28+
#parser.add_option("-q", dest="queue_list")
29+
parser.add_option("--host", dest="host", default="localhost")
30+
parser.add_option("--port",dest="port",type="int", default=6379)
31+
parser.add_option("-i", '--interval', dest='interval', default=None, help='the default time interval to sleep between runs')
32+
parser.add_option('-l', '--log-level', dest='log_level', default='info', help='log level. Valid values are "debug", "info", "warning", "error", "critical", in decreasing order of verbosity. Defaults to "info" if parameter not specified.')
33+
parser.add_option("--pool", type="int", dest="pool_size", default=1, help="Number of minions to spawn under the manager.")
34+
parser.add_option('-f', dest='logfile', help='If present, a logfile will be used.')
35+
(options,args) = parser.parse_args()
36+
37+
if len(args) != 1:
38+
parser.print_help()
39+
parser.error("Argument must be a comma seperated list of queues")
40+
41+
log_level = getattr(logging, options.log_level.upper(), 'INFO')
42+
#logging.basicConfig(level=log_level, format="%(asctime)s: %(levelname)s: %(message)s")
43+
44+
interval = options.interval
45+
if interval is not None:
46+
interval = float(interval)
47+
48+
queues = args[0].split(',')
49+
server = '%s:%s' % (options.host,options.port)
50+
Khan.run(pool_size=options.pool_size, queues=queues, server=server, logging_level=log_level, log_file=options.logfile)
51+
52+
53+
def pyres_scheduler():
54+
usage = "usage: %prog [options] arg1"
55+
parser = OptionParser(usage=usage)
56+
#parser.add_option("-q", dest="queue_list")
57+
parser.add_option("--host", dest="host", default="localhost")
58+
parser.add_option("--port",dest="port",type="int", default=6379)
59+
parser.add_option('-l', '--log-level', dest='log_level', default='info', help='log level. Valid values are "debug", "info", "warning", "error", "critical", in decreasing order of verbosity. Defaults to "info" if parameter not specified.')
60+
parser.add_option('-f', dest='logfile', help='If present, a logfile will be used.')
61+
(options,args) = parser.parse_args()
62+
log_level = getattr(logging, options.log_level.upper(),'INFO')
63+
#logging.basicConfig(level=log_level, format="%(module)s: %(asctime)s: %(levelname)s: %(message)s")
64+
setup_logging(log_level=log_level, filename=options.logfile)
65+
server = '%s:%s' % (options.host, options.port)
66+
Scheduler.run(server)
67+
68+
69+
def pyres_web():
70+
usage = "usage: %prog [options]"
71+
parser = OptionParser(usage)
72+
parser.add_option("--host",
73+
dest="host",
74+
default="localhost",
75+
metavar="HOST")
76+
parser.add_option("--port",
77+
dest="port",
78+
type="int",
79+
default=8080)
80+
parser.add_option("--dsn",dest="dsn",help="redis server to display")
81+
(options,args) = parser.parse_args()
82+
if options.dsn:
83+
from pyres import ResQ
84+
server.HOST = ResQ(options.dsn)
85+
run_itty(host=options.host, port=options.port)
86+
87+
88+
def pyres_worker():
89+
usage = "usage: %prog [options] arg1"
90+
parser = OptionParser(usage=usage)
91+
#parser.add_option("-q", dest="queue_list")
92+
parser.add_option("--host", dest="host", default="localhost")
93+
parser.add_option("--port",dest="port",type="int", default=6379)
94+
parser.add_option("-i", '--interval', dest='interval', default=None, help='the default time interval to sleep between runs')
95+
parser.add_option('-l', '--log-level', dest='log_level', default='info', help='log level. Valid values are "debug", "info", "warning", "error", "critical", in decreasing order of verbosity. Defaults to "info" if parameter not specified.')
96+
parser.add_option('-f', dest='logfile', help='If present, a logfile will be used.')
97+
(options,args) = parser.parse_args()
98+
99+
if len(args) != 1:
100+
parser.print_help()
101+
parser.error("Argument must be a comma seperated list of queues")
102+
103+
log_level = getattr(logging, options.log_level.upper(), 'INFO')
104+
#logging.basicConfig(level=log_level, format="%(asctime)s: %(levelname)s: %(message)s")
105+
setup_logging(log_level=log_level, filename=options.logfile)
106+
interval = options.interval
107+
if interval is not None:
108+
interval = float(interval)
109+
110+
queues = args[0].split(',')
111+
server = '%s:%s' % (options.host,options.port)
112+
Worker.run(queues, server, interval)

scripts/pyres_manager

Lines changed: 0 additions & 39 deletions
This file was deleted.

scripts/pyres_scheduler

Lines changed: 0 additions & 23 deletions
This file was deleted.

scripts/pyres_web

Lines changed: 0 additions & 24 deletions
This file was deleted.

scripts/pyres_worker

Lines changed: 0 additions & 39 deletions
This file was deleted.

setup.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
download_url='http://cloud.github.com/downloads/binarydud/pyres/pyres-%s.tar.gz' % version,
1616
include_package_data=True,
1717
package_data={'resweb': ['templates/*.mustache','media/*']},
18-
scripts=[
19-
'scripts/pyres_worker',
20-
'scripts/pyres_web',
21-
'scripts/pyres_scheduler',
22-
'scripts/pyres_manager'],
18+
entry_points = """\
19+
[console_scripts]
20+
pyres_manager=pyres.scripts:pyres_manager
21+
pyres_scheduler=pyres.scripts:pyres_scheduler
22+
pyres_web=pyres.scripts:pyres_web
23+
pyres_worker=pyres.scripts:pyres_worker
24+
""",
2325
install_requires=[
2426
'simplejson>=2.0.9',
2527
'itty>=0.6.2',

0 commit comments

Comments
 (0)