Skip to content

Commit 89b05b9

Browse files
committed
Merge remote branch 'binarydud/master'
Conflicts: setup.py
2 parents d87785b + e34c050 commit 89b05b9

File tree

8 files changed

+43
-8
lines changed

8 files changed

+43
-8
lines changed

AUTHORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
* dsc
66
* Alex Ezell
77
* Michael Russo
8+
* Whit Morris
89

910
Inspired by Resque, by Chris Wanstrath

HISTORY.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## 0.9.1 (2010-10-15)
2+
* fixing issues #45, #46.
3+
* #45 - resweb not working in chrome
4+
* #46 - delayed_queue_schedule_size() returns incorrect value
5+
* updated version requirement for redis-py
6+
* added Failure docs from Alex._
7+
8+
## 0.9 (2010-08-05)
9+
* added better logging to the project
10+
111
## 0.8 (2010-04-24)
212
* added the pyres_manager and the horde module. This allows a more prefork like model for processing jobs.
313
* setproctitle usage. Allows better process titles when viewing via ps

docs/source/failures.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Failures
2+
===============
3+
4+
Pyres provides a ``BaseBackend`` for handling failed jobs. You can subclass
5+
this backend to store failed jobs in any system you like.
6+
7+
Currently, the only provided backend is a ``RedisBackend`` which will store
8+
your failed jobs into a special *failed* queue for later processing or reenqueueing.
9+
10+
Here's a simple example::
11+
12+
>>> from pyres import failure
13+
>>> from pyres.job import Job
14+
>>> from pyres import ResQ
15+
>>> r = Resq()
16+
>>> job = Job.reserve('basic',r)
17+
>>> job.fail("problem")

pyres/__init__.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = '0.9'
1+
__version__ = '0.9.1'
22

33
from redis import Redis
44
import pyres.json_parser as json
@@ -244,8 +244,12 @@ def delayed_timestamp_peek(self, timestamp, start, count):
244244
return self.list_range('resque:delayed:%s' % timestamp, start, count)
245245

246246
def delayed_queue_schedule_size(self):
247-
return self.redis.zcard('resque:delayed_queue_schedule')
248-
247+
size = 0
248+
length = self.redis.zcard('resque:delayed_queue_schedule')
249+
for i in self.redis.zrange('resque:delayed_queue_schedule',0,length):
250+
size += self.delayed_timestamp_size(i)
251+
return size
252+
249253
def delayed_timestamp_size(self, timestamp):
250254
#key = int(time.mktime(timestamp.timetuple()))
251255
return self.redis.llen("resque:delayed:%s" % timestamp)

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
simplejson==2.0.9
22
itty==0.6.2
3-
redis==1.34.1
3+
redis>=1.34.1
44
pystache==0.1.0
55
setproctitle==1.0

resweb/templates/header.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<title>pyres.</title>
55
<link href="{{media_folder}}reset.css" media="screen" rel="stylesheet" type="text/css">
66
<link href="{{media_folder}}style.css" media="screen" rel="stylesheet" type="text/css">
7-
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"</script>
7+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script>
88
</head>
99
<body>
1010
<div class="header">
@@ -25,4 +25,4 @@
2525
{{/sub_nav}}
2626
</ul>
2727

28-
<div id="main">
28+
<div id="main">

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from setuptools import setup, find_packages
22

3-
version='0.9'
3+
version='0.9.1'
4+
45
setup(
56
name='pyres',
67
version=version,

tests/test_schedule.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ def test_enqueue_at(self):
2222
def test_delayed_queue_schedule_size(self):
2323
d = datetime.datetime.now() + datetime.timedelta(days=1)
2424
d2 = d + datetime.timedelta(days=1)
25+
d3 = d
2526
key = int(time.mktime(d.timetuple()))
2627
key2 = int(time.mktime(d2.timetuple()))
2728
self.resq.enqueue_at(d, Basic,"test1")
2829
self.resq.enqueue_at(d2, Basic,"test1")
29-
assert self.resq.delayed_queue_schedule_size() == 2
30+
self.resq.enqueue_at(d3, Basic,"test1")
31+
assert self.resq.delayed_queue_schedule_size() == 3
3032

3133
def test_delayed_timestamp_size(self):
3234
d = datetime.datetime.now() + datetime.timedelta(days=1)

0 commit comments

Comments
 (0)