I installed Python Redis Queue module using pip install rq
When I try to start the worker using rq
or rq worker
, it is throwing an error.
PYTHONPATH=src REDIS_HOST=localhost rq worker --with-scheduler -u redis://localhost:6379
Traceback (most recent call last):
File "c:usersjason.bracketappdatalocalprogramspythonpython37librunpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:usersjason.bracketappdatalocalprogramspythonpython37librunpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:Usersjason.bracketAppDataLocalProgramsPythonPython37Scriptsrq.exe__main__.py", line 4, in <module>
File "c:usersjason.bracketappdatalocalprogramspythonpython37libsite-packagesrqcli__init__.py", line 2, in <module>
from .cli import main
File "c:usersjason.bracketappdatalocalprogramspythonpython37libsite-packagesrqclicli.py", line 93, in <module>
@pass_cli_config
File "c:usersjason.bracketappdatalocalprogramspythonpython37libsite-packagesrqclicli.py", line 72, in pass_cli_config
func = option(func)
File "c:usersjason.bracketappdatalocalprogramspythonpython37libsite-packagesclickdecorators.py", line 247, in decorator
_param_memo(f, OptionClass(param_decls, **option_attrs))
File "c:usersjason.bracketappdatalocalprogramspythonpython37libsite-packagesclickcore.py", line 2467, in __init__
super().__init__(param_decls, type=type, multiple=multiple, **attrs)
File "c:usersjason.bracketappdatalocalprogramspythonpython37libsite-packagesclickcore.py", line 2108, in __init__
) from None
ValueError: 'default' must be a list when 'multiple' is true.
make: *** [Makefile:50: start-worker-native] Error 1
I am running Python==3.7
and rq==1.7.0
on a Windows 10 machine. How can I start a worker? Do I need to configure anything? Any help would be appreciated.
4
Answers
The problem is the
click
package. You probably have the8.0.0
version.Install
click==7.1.2
and it should be OK.Use this command to uninstall the version of "click" python module and install the specific version.. but this is the temporary solution.
Command support for both Linux and windows
workaround: pin the click to < 8.0.
In my case it was not only click but the celery also. However at the time of writing, the following combination works fine –