On Friday 31 May 2002 14:56, Mihai RUSU wrote: > On Fri, 31 May 2002, Mihai Chelaru wrote: > > On Friday 31 May 2002 14:24, Mihai RUSU wrote: > > > Ce pot face sa lucrez NONBLOC/ASYNC cu mysql-ul ? Sa nu mai blocheze in > > > mysql_query ? > > > > Chiar daca faci treaba NONBLOCK tot trebuie sa-ti pierzi vremea cu select > > ca sa vezi cand mai poti face ceva pe socketul respectiv. Asadar: > > Nu e adevarat. Tocmai ca eu deja fac select pentru alta treaba (un socket) > si cand mi se pune mie pata (cand primesc date pe socket) vreau sa loghez > in sql. Deci daca ar fi NONBLOCK s-ar intoarce cu EAGAIN si asta e (daca > nu mai am vre-un layer care sa aiba un buffer sa pastreze cateva query-uri > macar acolo...), deci nu am nevoie de select. Dar nu cred ca pur si simplu > ma uit in mysq.h , vad in structura lui unde e socket-ul si fac fcntl pe > el, pentru ca mi-e teaba sa nu aiba probleme celelalte functii din lib cu > socketul.
Eu ma refeream la socketul mysql si cand poti face query pe el :) > > > Hint1: Threaduri. Executa toata operatiile de insert in threaduri > > (eventual si cu un buffer). > > Draguta idee. Nu chiar thread-uri, un fork si un pipe neblocant rezolva > treaba. Thanks (astept si alte raspunsuri totusi ;), nu se poate as nu fi > gandit cei de la mysql o solutie "curata" petnru treaba asta). > > > Hint2: Nu tine conexiunea deschisa. Deschide-o cand faci inserturi si > > inchide-o dupa. > > Hmm, o sa creaza overhead-ul imens (pot fi si vre-o 10 query-uri pe > secunda). Nope. Crede-ma ca asa e cel mai bine. Aveam aceeasi situatie aici (cu un buffer pe thread de 10), threadul executandu-se si de de 2 ori pe secunda. Cand pastram deschisa conexiunea imi ramaneau queryuri blocate => threaduri agatate si pierdeam 10 inregistrari. > > ---------------------------- > Mihai RUSU > > Disclaimer: Any views or opinions presented within this e-mail are solely > those of the author and do not necessarily represent those of any company, > unless otherwise specifically stated. > > --- > Pentru dezabonare, trimiteti mail la > [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'. > REGULI, arhive si alte informatii: http://www.lug.ro/mlist/ -- Mihai Chelaru http://www.netbsd.ro/ --- Pentru dezabonare, trimiteti mail la [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'. REGULI, arhive si alte informatii: http://www.lug.ro/mlist/
