Hi all. Im having some "problems" with a small concurrent plpython function.
Based on a small example [1] about concurrent programming, there is some code which works fine under python: #! /usr/bin/python import threading, random import time def myPrint(str): print 'searching...', str time.sleep(random.randint(10, 10000) / 1000.0) print str, 'OK!' myThreads = (threading.Timer(random.random(), myPrint, ["hello"]), \ threading.Timer(random.random(), myPrint, ["concurrent"]), \ threading.Timer(random.random(), myPrint, ["world"])) for thr in myThreads: thr.start() [EMAIL PROTECTED]: python pp.py searching... concurrent searching... world searching... hello hello OK! concurrent OK! world OK! So far, so good. Almost the same example in plpythonu: CREATE OR REPLACE FUNCTION search_t() returns bigint security definer as $$ import threading, random import time def myPrint(str): plpy.notice ('searching...', str) time.sleep(random.randint(10, 10000) / 1000.0) plpy.notice(str, 'OK!') myThreads = (threading.Timer(random.random(), myPrint, ["hello"]), \ threading.Timer(random.random(), myPrint, ["concurrent"]), \ threading.Timer(random.random(), myPrint, ["world"])) for thr in myThreads: thr.start() return 10000 $$ language plpythonu; gse_new_version=# select * From search_t(); search_t ---------- 10000 (1 row) Looks like myPrint() is not executing at all!! Have no idea why, so i decided writing both on python and postgres forums. Any ideas?? Postgres 8.1.3 python 2.5.1 Thanks!! Gerardo [1] http://forums.hostrocket.com/showthread.php?t=13325 -- http://mail.python.org/mailman/listinfo/python-list