def startRoom(request):
    if not request.user.is_staff:
        return HttpResponseForbidden()

    try:
        roomid = request.GET['roomid']
        timer = request.GET['time']
    except:
        return HttpResponseBadRequest()

    cmd = f'python3 plug-ins/goldennum.py "{secret_key.secret_key}" {roomid} {timer}'
    cmd_run = f'nohup {cmd} > tmp/logs/{roomid}.out 2>&1'

    if sys.platform == "win32":
        cmd_run = f'start /b {cmd_run}'
    else:
        cmd_run = f'{cmd_run} &'

    rooms = Room.objects.filter(roomid=roomid)
    if not rooms:
        newRoom = Room()
        newRoom.status = "on"
        newRoom.roomid = roomid
        newRoom.time = timer
        newRoom.cmd = cmd.replace('"', '')
        newRoom.lastTime = str(int(time.time()))
        newRoom.history = json.dumps({
            "goldenNums": [],
            "userActs": {}
        })
        newRoom.save()
        os.makedirs("./tmp/logs", exist_ok=True)
        os.system(cmd_run)
        return HttpResponse("Room started new")
    else:
        room = rooms[0]
        # flag = os.system('ps axu | grep "' + room.cmd +'" | grep -v "grep" | wc -l')
        # print(json.dumps(flag))
        if room.status != "on":
            room.status = "on"
            room.time = timer
            room.cmd = cmd.replace('"', '')
            room.lastTime = str(int(time.time()))
            room.save()
            os.makedirs("./tmp/logs", exist_ok=True)
            os.system(cmd_run)
            return HttpResponse("Room restarted")
        else:
            return HttpResponse("Room have started")