Source code for ievv_opensource.utils.ievvdevrun.runnables.redis_server

import sys

from ievv_opensource.utils.ievvdevrun.runnables import base


[docs]class RunnableThread(base.ShellCommandRunnableThread): """ redis-server runnable thread. Examples: You can just add it to your Django development settings with:: IEVVTASKS_DEVRUN_RUNNABLES = { 'default': ievvdevrun.config.RunnableThreadList( ievvdevrun.runnables.redis_server.RunnableThread() ) } Or if you want Redis to run with your custom ``redis.conf`` file:: IEVVTASKS_DEVRUN_RUNNABLES = { 'default': ievvdevrun.config.RunnableThreadList( ievvdevrun.runnables.redis_server.RunnableThread(config_path=/path/to/config/redis.conf) ) } And you can make it not restart on crash with:: IEVVTASKS_DEVRUN_RUNNABLES = { 'default': ievvdevrun.config.RunnableThreadList( ievvdevrun.runnables.redis_server.RunnableThread( autorestart_on_crash=False) ) } """ default_autorestart_on_crash = True def __init__(self, port='6379', config_path=None): """ Args: port: The port to run the Redis server on. Defaults to ``"6379"``. config_path: Path to the redis.conf file. Defaults to ``None``. """ self.port = port self.config_path = config_path super(RunnableThread, self).__init__()
[docs] def get_logger_name(self): return 'Redis server'
[docs] def get_command_config(self): args = ['--port', str(self.port)] if self.config_path: args.insert(0, self.config_path) return { 'executable': 'redis-server', 'args': args }