threading/forking and IPC

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Sophia Cao

    #1

    threading/forking and IPC

    Hello,

    I am seeking a python solution for my project. I am trying to
    implement an architecture where there is a server who receives incoming
    messages from several clients, then those messages need to be written
    to a MySQL database. To avoid too many connections to the database, I
    plan to save the incoming messages into a queue, while use a seperate
    process/thread to constantly monitoring the queue and storing the
    messages to the database. I am not sure wheather I should use
    threading or forking and how to implement the sharing of this message
    queue.

    Thanks a lot for any advice.

  • David  Wahler

    #2
    Re: threading/forking and IPC


    Sophia Cao wrote:[color=blue]
    > Hello,
    >
    > I am seeking a python solution for my project. I am trying to
    > implement an architecture where there is a server who receives incoming
    > messages from several clients, then those messages need to be written
    > to a MySQL database. To avoid too many connections to the database, I
    > plan to save the incoming messages into a queue, while use a seperate
    > process/thread to constantly monitoring the queue and storing the
    > messages to the database. I am not sure wheather I should use
    > threading or forking and how to implement the sharing of this message
    > queue.
    >
    > Thanks a lot for any advice.[/color]

    If you want to have a shared queue, it's much easier and simpler to use
    threading, as it allows you to share data structures between threads.
    Python already has a multithreaded queue class -- see
    http://docs.python.org/lib/module-Queue.html. Just create a global
    Queue object or pass each thread a reference to it, and they can all
    share it.

    -- David

    Comment

    • Qun Cao

      #3
      Re: threading/forking and IPC

      Thanks David,
      This seems like the exact thing I am looking for!

      Comment

      Working...