Thanks for getting back on this one, Aparajita. All I can say is -
bummer. For a commercial web server, this seems like a pretty big bug on
4D's part ... the whole "one request at a time" thing really isn't very
cool.
> Unfortunately this seems to be a problem with 4D. It appears
that 4D is not handling any web requests while the method is running.
Once I pass control to 4D to run the method, it is out of my hands.
> I would post something on the iNUG. I will report this as a
bug.
>> A second situation: same as above, except that the A4D page
calls a
>> highly recursive A4L method. Other requests appear to hang
until the
>> initial request has finished executing. Is the scheduler
invoked on
>> code within this library method, or only before and after the
initial
>> method call?
Actually, the above situation did still cause the same hang (calling the
code in a library method as opposed to a 4D method). So, in this
scenario, we've entirely removed any native 4D method calls from the
equation. In fact, even taking the example one step further, we placed a
20 second WHILE loop directly into a page with no method wrappers at
all. Tried the loop with various combinations of "delay process" and
database queries to no avail. Requests are received by the server,
queued, and are executed sequentially. In this case, shouldn't A4D call
back to the scheduler after each iteration through the loop, thus
allowing another process to proceed?
Now, we have another legacy application making all its calls to native
4D methods using <4DScript> tags. Even though some of these pages can
take 30 seconds to load, there is no problem with synchronicity. All
requests are executed as they come in.
> You are correct, this seems to avoid the bug. You don't have
to create an extra method in 4D,
> you can use the 'execute in 4d' command in Active4D to call
'Execute on server' directly.
Yes, this does seem to work alright, but we need the information
returned from the method to display graphs on the page, so asynchronous
processes won't work for us here. If we were caching values or saving
records, this might be OK. Thanks for writing in with the IDLE command
Norbert, but we were even running this on an uncompiled application, so
it didn't really even come into play at all.
Appreciate the help on this one!
- Clayton
_______________________________________________
Active4D-dev mailing list
[email protected]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev
Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/