From: Aahz on 28 Feb 2010 14:44 In article <mailman.201.1267054217.4577.python-list(a)python.org>, Ryan Kelly <ryan(a)rfk.id.au> wrote: >On Wed, 2010-02-24 at 15:05 -0800, Aahz wrote: >> In article <mailman.2807.1266614926.28905.python-list(a)python.org>, >> Ryan Kelly <ryan(a)rfk.id.au> wrote: >>> >>>Yes. The idea of having a "bootstrapping exe" is that actual >>>application code can be swapped out without having to overwrite the >>>executable file. As long as you don't change python versions, this >>>allows updates to be safe against system crashes, even on platforms >>>without atomic file replacement. >>> >>>So the frozen app does this in a background thread: >>> >>> Esky(sys.executable,"http://my.updates.com").auto_update() >>> >>>And it hits the given url, grabs the latest zipfile, downloads and >>>unpacks and atomically places it into the application directory. Et >>>viola, your app is at the latest version. >> >> How does this work with a running app? What if the app is a service? > >The changes will only take effect the next time the app is started - >currently there's no support for "hot upgrading" a running app. From my POV, hot upgrading is less important than solid restart capabilities, particularly for services. Performing tasks like modifying the DB schema is also important (not the actual capability, but hooks for it). E.g., the next time the app starts, it should know that it's been upgraded. -- Aahz (aahz(a)pythoncraft.com) <*> http://www.pythoncraft.com/ "Many customs in this life persist because they ease friction and promote productivity as a result of universal agreement, and whether they are precisely the optimal choices is much less important." --Henry Spencer
First
|
Prev
|
Pages: 1 2 3 Prev: unit testing a routine that sends mail Next: What happened to pyjamas? |