def sch(request, pi_id): print("In sched") sch_id = request.POST['sch_id'] print repr(request.POST) action = request.POST['action'] schedule = Schedule.objects.get(pk=sch_id) print "Before action '%s'" % action be = Backend() print "Backend stat size: %s" % len(be.schedDict) if action == "stop": status = Const.STATUS_STOPPED # cancel currently running schedule and start new schedule_current = Schedule.objects.filter(Q(status=Const.STATUS_RUNNING) | Q(status=Const.STATUS_PLANNED)) if len(schedule_current) > 0: print "Got running schedule '%s'" % schedule_current[0] schedule_current[0].status = Const.STATUS_STOPPED schedule_current[0].save() print "Forcing stop scheduler" be.stop_schedule(schedule_current[0]) elif action == "start": status = Const.STATUS_RUNNING be.exec_schedule(schedule) print "Status switched to: %s" % status % ", action: %s" % action schedule.status = status schedule.save() print("Saved") message = "Schedule(" + sch_id + ") is %s" % ( "started" if status == Const.STATUS_RUNNING else "stopped") print("Message:" + message) return HttpResponse(message)
def stop_schedule(request, pi_id): be = Backend() messsage = {"Error"} try: sch_id = request.POST['sch_id'] # # schedule = change_schedule_status(sch_id, STATUS_STOPPED) schedule = get_object_or_404(Schedule, id=sch_id) be.stop_schedule(schedule) messsage = {Const.STATUS_STOPPED} except Schedule.DoesNotExist: raise Http404 return HttpResponse(messsage)