When starting the rqworker and rqinfo scripts with an --url parameter containing a non default database, e.g. redis://localhost:6379/2, both scripts connected db 0 instead of the desired database. Fixed this behavior by ignoring the --host, --port and --db arguments if --url is there.
Also fixed another issue with the rqinfo script, in which it defaulted to only the 'default' queue instead of finding all available queues using Queue.all().
Basically, I don't want to enforce users to configure _any_ logging
stack when writing a basic worker, like this:
from rq import Worker, Queue, Connection
with Connection():
q = Queue()
w = Worker([q])
w.work(burst=True)
In case you want to disable logging altogether, you can configure your
logging stack to do so.
rqinfo was using None for the redis host and port, which was causing
exceptions when trying to connect. It was possible to supply these on
the commandline, but port was just being passed straight through as a
string, which also caused exceptions.
This commit moves some of the argument & configuration file handling out
of rqworker and into the scripts/__init__.py file, and then calls it
from rqinfo.
This reverts commit 1ab8c19696 and
reintroduces all changes made by @dstufft.
Still, it needs more patches to reeanble the default log-to-console
behaviour. See #121.
Unfortunately zc.buildout does not support distribute/setuptools script
option (see https://bugs.launchpad.net/zc.buildout/+bug/422724), but it
does support console_scripts. This also makes the scripts importable,
allowing for unittest and code reuse.