Web Connection
Embarrassing question - after all these years
Gravatar is a globally recognized avatar based on your email address. Embarrassing question - after all these years
  Michael B
  All
  Mar 31, 2015 @ 11:39am
Dear Rick,

When we send an update to a server that is running our exe in COM we are in essence doing an IISRESET to get the new exe out of memory and replaced. Is this 'not what you had in mind' with regards to these comments in your standard wc.ini?

;*** You can update an EXE on the fly from the UpdateFile
;*** With File base messaging you can also use StartEXE to start the
;*** ExeFile running

Another words, is there a way with IIS7+ to recycle the exe without taking down iis and having 30 seconds of downtime? In a perfect world IIS would be 'up' and queuing the requests until the exe was ready to accept requests again.

If this is a RTFM just say so.

Cheers!

Gravatar is a globally recognized avatar based on your email address. Re: Embarrassing question - after all these years
  Rick Strahl
  Michael B
  Mar 31, 2015 @ 01:35pm
Nope - you're doing it wrong :-)

Web Connection supports hot swapping the EXEs without App Pool recycles.

Bascially works like this:

* You upload your EXE to the UpdateFile location in wc.ini
* Make sure the ExeFile location is set
* On the admin page there's a link to 'Update Exe'
* This will shut down the EXE servers (assuming your run COM)
and then copy the updateexe to the exefile location.
* It will the restart the servers.

You can automate this process by uploading via FTP and hitting the links via wwHttp. If you create a new project, the wizard will create a prg file (bld_yourApp.prg) that has the core steps for this configured.

I basically build my server with:

DO bld_wcdemo with .T.

When I run this it builds, uploads and replaces the server on the live site.

The site is down for the duration of taking down the EXE servers, swapping files and starting them backup. This is not super fast, but there's no way around that part of it but it shouldn't be 30 seconds. For me with 3 server instances it's about 5 seconds.

+++ Rick ---



Dear Rick,

When we send an update to a server that is running our exe in COM we are in essence doing an IISRESET to get the new exe out of memory and replaced. Is this 'not what you had in mind' with regards to these comments in your standard wc.ini?

;*** You can update an EXE on the fly from the UpdateFile
;*** With File base messaging you can also use StartEXE to start the
;*** ExeFile running

Another words, is there a way with IIS7+ to recycle the exe without taking down iis and having 30 seconds of downtime? In a perfect world IIS would be 'up' and queuing the requests until the exe was ready to accept requests again.

If this is a RTFM just say so.

Cheers!




Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: Embarrassing question - after all these years
  n/a
  Rick Strahl
  Mar 31, 2015 @ 02:02pm
Thanks - I remembered that from many years ago but just also forgot to mention that we are using TortoiseSVN for versioning the exe and it runs on server X in datacenter Y and then the production datacenter pulls the exe from the SVN 'from a click of a wws method'. We normally hit a secret link that does the SVN pull. I think the issue was (keyword - was) that we could not unload the exe from COM due to it not being compiled on the production app server.



Nope - you're doing it wrong :-)

Web Connection supports hot swapping the EXEs without App Pool recycles.

Bascially works like this:

* You upload your EXE to the UpdateFile location in wc.ini
* Make sure the ExeFile location is set
* On the admin page there's a link to 'Update Exe'
* This will shut down the EXE servers (assuming your run COM)
and then copy the updateexe to the exefile location.
* It will the restart the servers.

You can automate this process by uploading via FTP and hitting the links via wwHttp. If you create a new project, the wizard will create a prg file (bld_yourApp.prg) that has the core steps for this configured.

I basically build my server with:

DO bld_wcdemo with .T.

When I run this it builds, uploads and replaces the server on the live site.

The site is down for the duration of taking down the EXE servers, swapping files and starting them backup. This is not super fast, but there's no way around that part of it but it shouldn't be 30 seconds. For me with 3 server instances it's about 5 seconds.

+++ Rick ---



Dear Rick,

When we send an update to a server that is running our exe in COM we are in essence doing an IISRESET to get the new exe out of memory and replaced. Is this 'not what you had in mind' with regards to these comments in your standard wc.ini?

;*** You can update an EXE on the fly from the UpdateFile
;*** With File base messaging you can also use StartEXE to start the
;*** ExeFile running

Another words, is there a way with IIS7+ to recycle the exe without taking down iis and having 30 seconds of downtime? In a perfect world IIS would be 'up' and queuing the requests until the exe was ready to accept requests again.

If this is a RTFM just say so.

Cheers!




Gravatar is a globally recognized avatar based on your email address. Re: Embarrassing question - after all these years
  Rick Strahl
  MB
  Mar 31, 2015 @ 06:02pm

The same approach still works. Just replace the routine that ftp uploads with your SVN pull routine via HTTP if you're on that server.

+++ Rick ---



Thanks - I remembered that from many years ago but just also forgot to mention that we are using TortoiseSVN for versioning the exe and it runs on server X in datacenter Y and then the production datacenter pulls the exe from the SVN 'from a click of a wws method'. We normally hit a secret link that does the SVN pull. I think the issue was (keyword - was) that we could not unload the exe from COM due to it not being compiled on the production app server.



Nope - you're doing it wrong :-)

Web Connection supports hot swapping the EXEs without App Pool recycles.

Bascially works like this:

* You upload your EXE to the UpdateFile location in wc.ini
* Make sure the ExeFile location is set
* On the admin page there's a link to 'Update Exe'
* This will shut down the EXE servers (assuming your run COM)
and then copy the updateexe to the exefile location.
* It will the restart the servers.

You can automate this process by uploading via FTP and hitting the links via wwHttp. If you create a new project, the wizard will create a prg file (bld_yourApp.prg) that has the core steps for this configured.

I basically build my server with:

DO bld_wcdemo with .T.

When I run this it builds, uploads and replaces the server on the live site.

The site is down for the duration of taking down the EXE servers, swapping files and starting them backup. This is not super fast, but there's no way around that part of it but it shouldn't be 30 seconds. For me with 3 server instances it's about 5 seconds.

+++ Rick ---



Dear Rick,

When we send an update to a server that is running our exe in COM we are in essence doing an IISRESET to get the new exe out of memory and replaced. Is this 'not what you had in mind' with regards to these comments in your standard wc.ini?

;*** You can update an EXE on the fly from the UpdateFile
;*** With File base messaging you can also use StartEXE to start the
;*** ExeFile running

Another words, is there a way with IIS7+ to recycle the exe without taking down iis and having 30 seconds of downtime? In a perfect world IIS would be 'up' and queuing the requests until the exe was ready to accept requests again.

If this is a RTFM just say so.

Cheers!







Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

© 1996-2024