1. Andrew Davis
  2. PowerServer 2020 or older (Obsolete)
  3. Monday, 9 March 2020 10:35 AM UTC

Hi,

I am after some advice / best practice.

If i want to take down a powerserver web application for some maintenance is there a way of preventing new logons, what i want is to allow the users currently logged on to finish their transaction / leave them until they are ready to log off, but prevent new logons.

 

thanks

 

Andrew

Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Monday, 9 March 2020 15:27 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 1

I can't think of a way to do exactly what you are asking.  But as a best practice, we generally suggest that a) you schedule the upgrade/maintenance work for off hours (assuming people don't use the app 24/7), and b) that you have a backup image of the machine so that you can quickly restore back to previous state if any issues with the upgrade/maintenance work.

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Monday, 9 March 2020 15:31 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 2

Hi Andrew;

   Unfortunately, not at this time.

   I know what you are talking about though .. normally, App servers have something like a "Quiesce" command that tells the server to stop new sessions but allow existing ones to complete. We saw this feature in Sybase's EAServer product.

  Please submit a Support Ticket for this as a PowerServer enhancement request. In the mean-time, I would suggest using a "scheduled" outage approach for now and then just vary the URL offline in IIS.

Regards ... Chris

Comment
There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Monday, 9 March 2020 17:00 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 3

I think this is for you as the application developer to setup and handle and has nothing to do with powerserver.

 

You built a logon screen, as part of that process you should have whether or not the user is allowed to log in.  This is fairly simple regardless of the log in screen.  Whether you have that part of it setup as a non PS website, or as part of your PS app, simply have it check as to whether a user is allowed to login.

during our logon process, we have two validations in addition to the standard un/pwd: 1 whether any user is allowed to logon and 2 if we have a message that will display.  When we have a situation when we want to disallow new logons, we enter a message to display (application unavailable due to scheduled work) and then end the application. 

 

Comment
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Monday, 9 March 2020 18:19 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 4

Hi Andrew,

some databases have logon triggers so a config table in database may have a row like:

  • Key = MyApp.LogonAction
  • UserGroup = ALL
  • Value = DENY

I have worked in such environment at several different companies.

HTH /Michael

Comment
  1. mike S
  2. Monday, 9 March 2020 22:41 PM UTC
powerserver typically uses database connection pools which means it is not a new logon to the database and the user will connect.
  1. Helpful
  1. Michael Kramer
  2. Monday, 9 March 2020 23:20 PM UTC
Ah, PowerServer, gotcha! Forgot to look at group before answering. My bad.

Logic similar to "Logon trigger" but in PB app's code though not running in PowerServer Web => Example from a huge world-wide company = "Business" process for app upgrades >>

1) Alert users world-wide of system downtime well in advance. 2) Activate "Deny New Logon". Config data in DB table but logic in app's LOGON window. 3) Alert active user of app forced shutdown in minutes. 4) Alert active user of imminent forced shutdown. 5) Shutdown; kill connections; turn off server components. 6) Upgrade database (Currently walled off from any and all access except DBA's upgrade script). 7) Load new app version onto app servers. 8) Alert users that upgrade completed.

LOGON window also checked DB version against APP version and complain if mismatch - no user could ever logon to DB when APP version was "incompatible" with current DB version.
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.