new_contents: from fabric.api import sudo, task, cd
  
  
  @task
  def setup_redis():
      sudo("apt-get update && apt-get install -y redis-server")
      sudo("sed -i -e 's/127.0.0.1/0.0.0.0/g' /etc/redis/redis.conf")
      sudo("/etc/init.d/redis-server stop")
      sudo("/etc/init.d/redis-server start")
  
  
  @task
  def setup_channels():
      sudo("apt-get update && apt-get install -y git python-dev python-setuptools python-pip")
      sudo("pip install -U pip")
      sudo("pip install -U asgi_redis git+https://github.com/andrewgodwin/daphne.git@#egg=daphne")
      sudo("rm -rf /srv/channels")
      sudo("git clone https://github.com/andrewgodwin/channels.git /srv/channels/")
      with cd("/srv/channels/"):
          sudo("python setup.py install")
  
  
  @task
  def setup_tester():
      sudo("apt-get update && apt-get install -y apache2-utils python3-pip")
      sudo("pip3 -U pip autobahn twisted")
      sudo("rm -rf /srv/channels")
      sudo("git clone https://github.com/andrewgodwin/channels.git /srv/channels/")
  
  
  @task
  def run_daphne(redis_ip):
      with cd("/srv/channels/testproject/"):
          sudo("REDIS_URL=redis://%s:6379 daphne -b 0.0.0.0 -p 80 testproject.asgi:channel_layer" % redis_ip)
  
  
  @task
  def run_worker(redis_ip):
      with cd("/srv/channels/testproject/"):
          sudo("REDIS_URL=redis://%s:6379 python manage.py runworker" % redis_ip)
  
  
  @task
  def shell():
      sudo("bash")
  
subject: Throw in fabfile for benchmarking while I'm here