Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9025141
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T06:11:54+00:00 2026-06-16T06:11:54+00:00

I have an internal cherrypy server that serves static files and answers XMLRPC requests.

  • 0

I have an internal cherrypy server that serves static files and answers XMLRPC requests. All works fine, but 1-2 times a day i need to update this static files and database. Of course i can just stop server, run update and start server. But this is not very clean since all other code that communicate with server via XMLRPC will have disconnects and users will see “can’t connect” in broswers. And this adds additional complexity – i need some external start / stop / update code, wile all updaes can be perfectly done within cherrypy server itself.

Is it possible to somehow “pause” cherrypy programmatically so it will server static “busy” page and i can update data without fear that right now someone is downloading file A from server and i will update file B he wants next, so he will get different file versions.

I have tried to implement this programmatically, but where is a problem here. Cherrypy is multithread (and this is good), so even if i introduce a global “busy” flag i need some way to wait for all threads to complete aready existing tasks before i can update data. Can’t find such way :(.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T06:11:56+00:00Added an answer on June 16, 2026 at 6:11 am

    CherryPy’s engine controls such things. When you call engine.stop(), the HTTP server shuts down, but first it waits for existing requests to complete. This mode is designed to allow for debugging to occur while not serving requests. See this state machine diagram. Note that stop is not the same as exit, which really stops everything and exits the process.

    You could call stop, then manually start up an HTTP server again with a different app to serve a “busy” page, then make your edits, then stop the interim server, then call engine.start() and engine.block() again and be on your way. Note that this will mean a certain amount of downtime as the current requests finish and the new HTTP server takes over listening on the socket, but that will guarantee all current requests are done before you start making changes.

    Alternately, you could write a bit of WSGI middleware which usually passes requests through unchanged, but when tripped returns a “busy” page. Current requests would still be allowed to complete, so there might be a period in which you’re not sure if your edits will affect requests that are in progress. How to write WSGI middleware doesn’t fit very well in an SO reply; search for resources like this one. When you’re ready to hook it up in CherryPy, see http://docs.cherrypy.org/dev/concepts/config.html#wsgi

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We have an internal ASP.NET MVC application that requires a logon. Log on works
I have an internal proxy that fetches data from my own server and displays
I have an internal class A that does a lot of stuff and I
I have an internal WPF client application that accesses a database. The application is
I Have an internal SOAP Web service that is being called from an external
I have an internal web application, that is IE specific, and uses a lot
We have an internal software development team in my company that are building a
I'm using python and CherryPy to create a simple internal website that about 2
In almost all of my classes, I have a mixture of properties and internal
We have internal application used to publish articles, using SQL Server 2005. For the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.