Re: Cancel threads after timeout

Discussion in 'Python' started by Jason Ma, Jan 27, 2013.

  1. Jason Ma

    Jason Ma Guest

    I am not sure which database you're using, but all the mainstream RDBMS is
    server-client Architecture, when you're running one DML(including the
    SELECT), the RDBMS setting up a server process, the query running in that
    process instead of your client process, so I guess your problem can solved
    in the database layer more elegant than in your program.
    1. Investigate the reason why you're take more time
    2. Find your DBA or yourself, setting the related parameters in the
    database.
    3. If possible, using some embedded language in the database (like PL/SQL
    in Oracle), it is more convenient.

    Regards,
    Jason


    2013/1/26 hyperboreean <>

    > Here's the use case I want to implement - I have to generate a report
    > from multiple database servers. This report should be generated every 2
    > hours. Sometimes it happens that a query on one of the database servers
    > takes longer than expected and impedes the generation of this report
    > (that's right, the queries are ran sequential). What I am trying to
    > achieve is to parallelize the queries on each database server and to be
    > able to cancel one of them if it takes longer than X minutes.
    > threading.Thread doesn't support this and seems that in
    > general programming languages don't implement a way to cancel threads
    > from the outside.
    >
    > Now, I've read all the stackoverflow threads about killing a thread,
    > canceling a thread after a timeout, but all of them imply that you are
    > able to check from within the thread if you should end the computation
    > or not - that's not really my case, where the computation is a SQL
    > query.
    >
    > So, what I have in mind is something like: the main loop starts a
    > threading.Thread which in turn is responsible for starting another
    > thread in which the actual computation happens (could be a
    > threading.Thread or a multiprocessing.Process) *and* checks if the
    > specified timeout has passed. If the time is up, it exits, letting the
    > main loop know.
    >
    > Lots of words, no code - let me know if you have any suggestions, ideas
    > to this rant.
    >
    > Thanks!
    >
    >
    > --
    > http://mail.python.org/mailman/listinfo/python-list
    >




    --
    Best wishes,

    Jason Ma
     
    Jason Ma, Jan 27, 2013
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. hyperboreean

    Cancel threads after timeout

    hyperboreean, Jan 26, 2013, in forum: Python
    Replies:
    0
    Views:
    136
    hyperboreean
    Jan 26, 2013
  2. Jason Friedman

    Re: Cancel threads after timeout

    Jason Friedman, Jan 26, 2013, in forum: Python
    Replies:
    0
    Views:
    125
    Jason Friedman
    Jan 26, 2013
  3. Matt Jones

    Re: Cancel threads after timeout

    Matt Jones, Jan 26, 2013, in forum: Python
    Replies:
    0
    Views:
    135
    Matt Jones
    Jan 26, 2013
  4. Cameron Simpson

    Re: Cancel threads after timeout

    Cameron Simpson, Jan 27, 2013, in forum: Python
    Replies:
    0
    Views:
    143
    Cameron Simpson
    Jan 27, 2013
  5. dieter
    Replies:
    0
    Views:
    152
    dieter
    Jan 27, 2013
Loading...

Share This Page