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

import sys
import time

from django.conf import settings

from ievv_opensource.utils.ievvdevrun.runnables import base


[docs]class RunnableThread(base.ShellCommandRunnableThread): """ Django-DBdev run database runnable thread. Examples: You can just add it to your Django development settings with:: IEVVTASKS_DEVRUN_RUNNABLES = { 'default': ievvdevrun.config.RunnableThreadList( ievvdevrun.runnables.dbdev_runserver.RunnableThread() ) } """
[docs] def get_logger_name(self): return 'Django-dbdev database server: {!r}'.format( settings.DATABASES['default'] )
[docs] def get_command_config(self): return { 'executable': sys.executable, 'args': ['manage.py', 'dbdev_startserver'] }
def dbdev_stopserver(self): self.run_shell_command(sys.executable, args=['manage.py', 'dbdev_stopserver'])
[docs] def start(self): super(RunnableThread, self).start() time.sleep(4) # Block to give the server time to start.
[docs] def run(self): self.dbdev_stopserver() super(RunnableThread, self).run()
[docs] def stop(self): super(RunnableThread, self).stop() self.dbdev_stopserver()