I was searching on Google about best practices to manage salesforce downtime. But I didn't find good information.

I know that salesforce has some "queues" to manage standard services like: WebToLead, WebToCase, EmailToCase, etc, during downtime.

However, I was wondering about what options do I have to manage custom web services(Rest) and site pages.

For instance, could I add a redirection on downtime window to external service ?

Do anybody know some blog, article, book or has any advice about this topic?



These are a few references I was able to find that might help you here.

Force.com Sites Best Practices

Because Force.com Sites are directly served from customers’ Salesforce organization, Force.com Sites availability is directly related to their Salesforce org’s availability and up time. For all major releases, customers’ Salesforce orgs and Force.com Sites will be unavailable during the org’s release maintenance window. During the maintenance window, Sites end users will see a Force.com branded maintenance page when they try to access the site via HTTP. You should work with your customer to ensure they have a communication strategy for informing end users, as well as any other Salesforce stakeholders, of the release maintenance windows and related Force.com Sites unavailability.

The same is also stated in the Force.com Sites Implementation Guide.

NOTE: I am pretty confident the same will apply to custom Apex REST services as well.


Returns the read write mode set for an organization during Salesforce.com upgrades and downtimes

The following answer seems to contradict the docs on this, its from a Salesforce employee though, so worth a look, When does System.ApplicationReadWriteMode apply and what is five minute upgrade?.

Current info from the PMs: What USED to happen was that there would be a few minutes downtime, then several hours in read-only mode. That changed with Winter '12; now, the instance will be unavailable for up to five minutes (most instances less than one minute) and then it's live with the new release. System.ApplicationReadWriteMode is no longer used to support releases.

Batch Apex

Batch jobs queued before a Salesforce service maintenance downtime remain in the queue. After service downtime ends and when system resources become available, the queued batch jobs are executed. If a batch job was running when downtime occurred, the batch execution is rolled back and restarted after the service comes back up.

Scheduled Jobs

Apex jobs scheduled to run during a Salesforce service maintenance downtime will be scheduled to run after the service comes back up, when system resources become available. If a scheduled Apex job was running when downtime occurred, the job is rolled back and scheduled again after the service comes back up. Note that after major service upgrades, there might be longer delays than usual for starting scheduled Apex jobs because of system usage spikes.

  • thx for this complete answer. I think for Apex Rest WS the better workaround could be to use getApplicationReadWriteMode and redirect to un external queue (maybe using Heroku), and finally to implement async reply calls. It sounds like a redundant system and redundant work. – Martin Borthiry Oct 7 '13 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.