[Mapserver-dev] FastCGI and MapServer 4.4
Fernando S.
simon at inf.univali.br
Mon Sep 27 15:34:21 EDT 2004
Hi,
It's very nice.
I started to write something for maporaclespatial some weeks ago. I
liked the fastcgi idea but when do you intend to include this feature in
the code? In the next version? 4.4 or 4.6?
I intend to start write oracle/fastcgi in the next week. But I don't
know if I can to finish until October. So, what can I follow? Exist any
step by step or a how to use for fastcgi?
Any hints?
Sorry my english.
----------------------------------------------------------------
Fernando Simon - simon at inf.univali.br
G10 - Laboratorio de Computacao Aplicada
http://g10.cttmar.univali.br
----------------------------------------------------------------
Frank Warmerdam wrote:
> Smith, Michael ERDC-CRREL-NH wrote:
>
>> Frank,
>>
>> What extra would it take to extend the connection pooling to Oracle.
>> We may be able to provide that.
>> If not for 4.4, then for 4.5.
>
>
> Mike,
>
> My intention is to define fairly clear instructions on how to take
> advantage
> of a "new" connection pooling API and those instructions should make
> it pretty
> clear how it could be used. Basically, I am looking at an API like this:
>
> void MS_DLL_EXPORT *msConnPoolRequest( layerObj *layer );
> void MS_DLL_EXPORT *msConnPoolRelease( layerObj *layer, void * );
> void MS_DLL_EXPORT msConnPoolRegister( layerObj *layer,
> void *connect_handle,
> void (*close)( void * ) );
> void MS_DLL_EXPORT msConnPoolMapDrawComplete();
> void MS_DLL_EXPORT msConnPoolFinalCleanup();
>
> Particular format providers that want to support connection pooling will
> call msConnPoolRequest() with their layer. The connection pooling code
> will look at the CONNECTION and CONNECTIONTYPE string, and see if
> there is
> an existing handle associated with that pair. If so, it will be returned
> (as a void *).
>
> If not, the provider establishes a connection and then registers it with
> msConnPoolRegister(), along with a function to be called when it
> should be
> closed.
>
> When the LayerClose function is called for the provider, it would call
> msConnPoolRelease() and the connection pooling code would decide whether
> to invoke the low level close() or not.
>
> The connection pooling API would inspect some keyword(s) on the layer to
> determine whether to keep a connection alive, or let it close immediately
> after the last release against it. I expect to use PROCESSING options
> for
> this for now, though we might introduce a first class keyword for this
> at a later date.
>
> So, I believe that updating particular providers such as the Oracle, SDE,
> PostGIS, or OGR ones would be pretty straight forward. The main issue
> would
> be that it be done by some who can test if the code changes work.
> Ideally the
> Oracle connecton maintainers would implement (or at least test)
> changes for
> this.
>
> The actual work is likely not enough to justify cutting a contract of
> some
> kind if that is what you are thinking.
>
> Best regards,
More information about the mapserver-dev
mailing list