title: Process communication in Python
body: <p>What is the best way to establish communication between two processes in python? After some googling, I tried to do so:</p>
  
  <pre><code>parent_pipe, child_pipe = Pipe()
  p = Process(target = instance_tuple.instance.run(), \
      args = (parent_pipe, child_pipe,))
  p.start()
  </code></pre>
  
  <p>Sending data to the child process:</p>
  
  <pre><code>command = Command(command_name, args)
  parent_pipe.send(command)
  </code></pre>
  
  <p>Process target function:</p>
  
  <pre><code>while True:
      if (self.parent_pipe.poll()):
          command = parent_pipe.recv()
          if (command.name == 'init_model'):
              self.init_model()
          elif (command.name == 'get_tree'):
              tree = self.get_fidesys_tree(*command.args)
              result = CommandResult(command.name, tree)
              self.child_pipe.send(result)
          elif(command.name == 'set_variable'):
              name = command.args[0]
              value = command.args[1]
              self.config[name] = value
  </code></pre>
  
  <p>But it doesn't seem to work (child process doesn't receive anything through <code>parent_pipe</code>). How can I fix it?</p>
  
  <p>Thanks in advance.</p>