skip to Main Content

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


  1. The problem is the click package. You probably have the 8.0.0 version.

    Install click==7.1.2 and it should be OK.

    Login or Signup to reply.
  2. Use this command to uninstall the version of "click" python module and install the specific version.. but this is the temporary solution.

    pip uninstall click && pip install click==7.1.2 
    

    Command support for both Linux and windows

    Login or Signup to reply.
  3. workaround: pin the click to < 8.0.

    pip install "click>=7,<8"

    Login or Signup to reply.
  4. In my case it was not only click but the celery also. However at the time of writing, the following combination works fine –

    celery==5.2.7
    click==8.1.3
    rq==1.8.1
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search