Why not use a multiuser database server instead of trying to make one? You do not have the resources to a better job on your own. You know where to find Firebird SQL, MariaDB, MySQL, PostegreSQL, IBM DB2, Oracle, etc.
Personally I prefer Firebird because like SQLite the database is stored in a file. Another nice way to get the database in a file is to run it in an Oracle VirtualBox VM. SQLite also allows multiple connections, by the way, but it does not scale very well. Regards, Sturla Charles Hixson <charleshi...@earthlink.net> wrote: > In order to allow multiple processes to access a database (currently > SQLite) I want to run the process in a separate thread. Because it will > be accessed from multiple processes I intent to use Queues for shifting > messages back and forth. But none of the individuals processes will > know when all of the others are through. It there a way to properly > close the database, or does it need to be done from the parent process? > > What I want to do is detect that a request to shutdown the Process has > been received, and then execute a close procedure that cleans things up > and shutdown. Terminate is the obvious procedure to use, but that comes > with a warning not to use it if there is an queue attached (and without > defining attached). > OTOH, since the queue will never be read after the process has been > shutdown, perhaps rendering it unusable is the proper thing. > > Could someone comment on this step of the design? > > The basic idea is: > > class handledb(Process): > def __init__(self, q, otherstuff): > self.q = q > > def run(self, msg): > while (true): > if self.q.empty(): > sleep(someamountoftime) > else: > while (not self.q.empty()): > read and parse message > if message says to shutdown: self.shutdown() > > def shutdown(self): > close things down > ?? terminate ?? <<-- should this be done > while q is live? -- https://mail.python.org/mailman/listinfo/python-list