Skip to content

Is redis a requirement for Hyperkitty?

ERROR 2017-04-21 19:20:52,078 19 django.request Internal Server Error: /hyperkitty/api/mailman/archive
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_r
esponse
    response = self._get_response(request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/site-packages/hyperkitty/views/mailman.py", line 68, in _decorator
    return func(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_vie
w
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/hyperkitty/views/mailman.py", line 114, in archive
    add_to_list(mlist_fqdn, msg)
  File "/usr/local/lib/python2.7/site-packages/hyperkitty/lib/incoming.py", line 55, in add_to_list
    update_from_mailman.delay(mlist.name)
  File "/usr/local/lib/python2.7/site-packages/hyperkitty/tasks.py", line 129, in delay
    return task.run()
  File "/usr/local/lib/python2.7/site-packages/hyperkitty/tasks.py", line 107, in run
    super(SingletonAsync, self).run()
  File "/usr/local/lib/python2.7/site-packages/django_q/tasks.py", line 647, in run
    self.id = async(self.func, *self.args, **self.kwargs)
  File "/usr/local/lib/python2.7/site-packages/django_q/tasks.py", line 38, in async
    broker = task.pop('broker', get_broker())
  File "/usr/local/lib/python2.7/site-packages/django_q/brokers/__init__.py", line 189, in get_broker
    from brokers import redis_broker
  File "/usr/local/lib/python2.7/site-packages/django_q/brokers/redis_broker.py", line 1, in <module>
    import redis

This came up very recently on one of my deployments and I have no clue why.

It looks like hyperkitty is adding the incoming email to a queue which in this case is django_q. But I don't see that in the INSTALLED_APPS. Is that added as an dependency to some other app? Also, any idea how to fix this?