mercredi 1 septembre 2021

Python If-Condition with While-True Infinite Loop Conflict

I want to ask, right now I’m doing the python3 http web server. However it has the issue on “if-condition” when it stuck at “while-true”. When I want to use other “if condition”, the program stuck at “while-true” and cannot proceed other program.

from http.server import BaseHTTPRequestHandler, HTTPServer
import subprocess


Request = None

class RequestHandler_httpd(BaseHTTPRequestHandler):
  def do_GET(self):
    global Request
    messagetosend = bytes('Hello Worldddd!',"utf")
    self.send_response(200)
    self.send_header('Content-Type', 'text/plain')
    self.send_header('Content-Length', len(messagetosend))
    self.end_headers()
    self.wfile.write(messagetosend)
    Request = self.requestline
    Request = Request[5 : int(len(Request)-9)]
    print(Request)
    if Request == 'onAuto':
        
        def always_run():
            subprocess.run("python3 satu.py ;", shell=True)
            subprocess.run("python3 dua.py ;", shell=True)
            
        while True:
            always_run() #the program stuck here and other if cannot be used
        
    
    if Request == 'onFM':
        subprocess.run("python3 satu.py ;", shell=True)
      
    if Request == 'onQR':
        subprocess.run("python3 dua.py ;", shell=True)
      
    if Request == 'offSYS':
        subprocess.run("python3 OFF_SYSTEM.py ;", shell=True)
      
    return


server_address_httpd = ('X.X.X.X',8080) #my private address
httpd = HTTPServer(server_address_httpd, RequestHandler_httpd)
print('Starting Server')
httpd.serve_forever()

Aucun commentaire:

Enregistrer un commentaire