class_docstr: A Thrift server that forks a new process for each request
  
  This is more scalable than the threaded server as it does not cause
  GIL contention.
  
  Note that this has different semantics from the threading server.
  Specifically, updates to shared variables will no longer be shared.
  It will also not work on windows.
  
  This code is heavily inspired by SocketServer.ForkingMixIn in the
  Python stdlib.
class_docstr_tok: ["A","Thrift","server","that","forks","a","new","process","for","each","request","This","is","more","scalable","than","the","threaded","server","as","it","does","not","cause","GIL","contention",".","Note","that","this","has","different","semantics","from","the","threading","server",".","Specifically",",","updates","to","shared","variables","will","no","longer","be","shared",".","It","will","also","not","work","on","windows",".","This","code","is","heavily","inspired","by","SocketServer.ForkingMixIn","in","the","Python","stdlib","."]
code: def __init__(self, *args):
      TServer.__init__(self, *args)
      self.children = []
  
imports: from six.moves import queue
  import logging
  import os
  import threading
  from thrift.protocol import TBinaryProtocol
  from thrift.protocol.THeaderProtocol import THeaderProtocolFactory
  from thrift.transport import TTransport
label_desc: Use image node_id 1 to create a new TForkingServer object from inherited base classes: TServer with example: obj = TForkingServer()