Автор Гілка: python як "всунути" ім’я говолвного класу в SocketServer.ForkingTCPServer  (Прочитано 4871 раз)

Відсутній tarasian666

  • Графоман
  • ****
  • дописів: 464
  • Карма: +0/-0
  • нульовий біт це також біт
потрібно передати в клас веб сервера ім’я (чи інстанс, як то назвати) головного класу щоб можна було діставатиз нього "динамічні" дані
ось кусок коду
#класс веб сервера
class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def __init__(self, request, client_address, server, mainthread=None):
         self.thread = mainthread
         SimpleHTTPServer.SimpleHTTPRequestHandler.__init__(self, request, client_address, server)
    def do_GET(self):
         #неважливий код
    def do_POST(self):
          #неважливий код


# а ось запуск
thread1 = myThread()
thread1.start()
httpd = SocketServer.ForkingTCPServer(('', 8000), Proxy)
httpd.serve_forever()
от потрібно передати thread1 в class Proxy через mainthread

знаю що це можна зробити, але як правильно - поки не хватає знань )
Kernel alive - куди поділи цю "фразу" в новому ядрі?

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Ок. Нащо Thread? Глобальною змінною ніяк зробити?

Відсутній tarasian666

  • Графоман
  • ****
  • дописів: 464
  • Карма: +0/-0
  • нульовий біт це також біт
в Thread крутиться mplayer, посилає команди йому та отримує відповіді

Пробував глобальні змінні і вийшло що глобальні змінні в класі веб сервера постійно мають значення яке було їм першого разу присвоєне. Чомусь коректно працює тільки 1 глобальна змінна
Kernel alive - куди поділи цю "фразу" в новому ядрі?

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Ок. А глобальна змінна?

Відсутній tarasian666

  • Графоман
  • ****
  • дописів: 464
  • Карма: +0/-0
  • нульовий біт це також біт
для прикладу та змінна яка змінюється в thread в циклі-зчитуванні stdout  - в веб сервері вона має актуальні дані
а якщо наприклад треба іншу глобальну змінити через веб сервер - вона не змінюється в класі веб сервера(чи відновлюється до попереднього стану), навіть якщо викликати зовнішню функцію зміни цієї змінної і запросити значення цієї змінної також через зовнішню функцію
Kernel alive - куди поділи цю "фразу" в новому ядрі?