Hey John, thanks for the great post and all the work. There's no reason for other people to know this, but John and I have *totally* different coding styles. So I was really pleased he went through my example and reworked it in his own way. That he turned up some problems is instructive because he, for sure, approaches things form a different angle than me.
> Open/Close Document: I think we all agree, even David, that it is now and has always been our responsibility to close > documents as quickly as possible after opening them. Sorry I gave the impression at some point I ever thought otherwise. I now and always believe that we're responsible for closing our own files. That's not a question. What I'm concerned about is that CLOSE DOCUMENT may be returning without the file *actually* being closed. That's really problematic. > Worker processes in 4D are ready for prime time. I suspect that this is true for many uses of workers. For UI stuff, they seem like they'll be able to keep up with what even a complex UI in 4D can push at it. And workers and CALL FORM are *massively* better than any previous native solution. All of that stuff with SET PROCESS VARIABLE or shared arrays with semaphores was just terrible - real garbage. I've said that for years, so I was quite excited about the new features. On the other hand, I was looking forward to taking a standard high-volume task and leverage 4D's preemptive processing ability. John came up with a solution, but it involves Semaphores and quite a bit of infrastructure that either makes preemptive unavailable, or so expensive to get that it's pointless. For reliability, I'm going to look at sending the logs from NGNIX and cut 4D out of the process entirely. ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

