binarymatt / pyres

a resque clone in python
http://github.com/binarydud/pyres
MIT License
955 stars 130 forks source link

Option interval of pyres_worker not working #63

Closed srounet closed 13 years ago

srounet commented 13 years ago

I issued an exception with pyres_worker --interval=5 somequeue The interval option is working using pyres_manager but not with pyres_worker.

Traceback (most recent call last):
  File "/home/xxx/venv/bin/pyres_worker", line 8, in 
    load_entry_point('pyres==1.0', 'console_scripts', 'pyres_worker')()
  File "/home/xxx/venv/lib/python2.7/site-packages/pyres/scripts.py", line 107, in pyres_worker
    Worker.run(queues, server, interval)
  File "/home/xxx/venv/lib/python2.7/site-packages/pyres/worker.py", line 280, in run
    worker.work(interval)
  File "/home/xxx/venv/lib/python2.7/site-packages/pyres/worker.py", line 135, in work
    job = self.reserve(interval)
  File "/home/xxx/venv/lib/python2.7/site-packages/pyres/worker.py", line 216, in reserve
    job = self.job_class.reserve(q, self.resq, self.__str__(), timeout=timeout)
  File "/home/xxx/venv/lib/python2.7/site-packages/pyres/job.py", line 91, in reserve
    payload = res.pop(queue, timeout=timeout)
  File "/home/xxx/venv/lib/python2.7/site-packages/pyres/__init__.py", line 109, in pop
    ret = self.redis.blpop("resque:queue:%s" % queue, timeout=timeout)
  File "/home/xxx/venv/lib/python2.7/site-packages/redis/client.py", line 647, in blpop
    return self.execute_command('BLPOP', *keys)
  File "/home/xxx/venv/lib/python2.7/site-packages/redis/client.py", line 254, in execute_command
    **options
  File "/home/xxx/venv/lib/python2.7/site-packages/redis/client.py", line 239, in _execute_command
    return self.parse_response(command_name, **options)
  File "/home/xxx/venv/lib/python2.7/site-packages/redis/client.py", line 259, in parse_response
    response = self.connection.read_response(command_name, catch_errors)
  File "/home/xxx/venv/lib/python2.7/site-packages/redis/connection.py", line 99, in read_response
    raise ResponseError(response)
redis.exceptions.ResponseError: timeout is not an integer or out of range
binarymatt commented 13 years ago

is this with the newest version of pyres?

srounet commented 13 years ago

From pip install.

>>> import pyres
>>> pyres.__version__
'1.0'
binarymatt commented 13 years ago

looks like there is an issue with the new code. I'll take a look and see about putting out a 1.01 release.

binarymatt commented 13 years ago

timeout needed an int, not a float. Merged into release/1.0.1