Я довольно новичок в Python, и у меня проблема с разделением переменной между родительским сценарием и разветвленным дочерним элементом.
Объект выглядит следующим образом
Главный сценарий должен получать задачи из вызова API и запустить их в подпроцесс. Затем он уменьшает счетчик доступных ЦП, чтобы избежать насыщения ресурсов, и получает новые задачи, если есть доступные. Я хотел бы также увеличить счетчик, когда подпроцесс завершен, но я не могу заставить его работать.
Вот основная функция моего скрипта
def main():
while True:
global availables_cpu
print("Got %s availables CPU requesting new job" % availables_cpu)
response = requests.get("http://" + url_api + "/api.php?action=get&ressources=" + str(availables_cpu))
data = json.loads(response.text)
job_path = data["hash"]
if job_path is None :
print("Nothing to do, waiting for a while")
else:
dir = job_path.rstrip()
if int(data["cpu"]) <= availables_cpu:
availables_cpu -= int(data["cpu"])
newpid = os.fork()
if newpid == 0:
code = child()
availables_cpu += int(data["cpu"])
os._exit(code)
else:
time.sleep(3)
print("Parent")
Функция child () просто получает данные и запускает скрипт в подпроцессе
Я не уверен, как лучше это сделать, и я открыт для любых предложений.