@mike:

As alternative, memcache can be backed by tokyo tyrant to have  
persisted data. I use this technique to store counter object.

- didip -

On Aug 15, 2009, at 12:13 PM, Mike Orr <[email protected]> wrote:

>
> On Sat, Aug 15, 2009 at 7:03 AM, pydon<[email protected]>  
> wrote:
>>
>> Hi all,
>>
>> To start off I would like to use a global variable to store a simple
>> counting object (integers). The problem is keeping track of it  
>> because
>> when the server is shutdown it will disappear. I would like to on
>> server shutdown write this data to a database and then on server
>> startup read it back to the global variable.
>>
>> Being a small counter it won't really grow much if at all but will  
>> get
>> a lot of reads and writes upon it. Due to the IO requirement on it
>> having a constant database update each time it changes would be slow.
>>
>> So my main question is. Can paster run a python script(py file with
>> class) on server startup (in production mode) and then on server
>> shutdown run the script again. If so, how? When I shutdown the server
>> with Ctrl-C it simply justs stops the threads.
>
> Startup is easy: do it in environment.py.  For shutdown, you could
> register an atexit function (see atexit module), but it doesn't work
> if Python is killed by a signal, which is probably the way you're
> stopping the application. Perhaps a signal handler (signal module).
>
> You may want to save the counter in a file rather than in a database,
> so that SQLAlchemy doesn't have to be fully initialized when
> reading/writing it.
>
> Memcached might also help.  It would still be in memory, but at least
> in a different process that wouldn't go down when the application
> does.  I'm not sure if memcached can be backed by a persistent store,
> but that would be ideal.
>
> Alternatively, if the number doesn't have to be exact, you could
> update it after every 100 increments.  You could also combine this
> with a shutdown procedure so that the count won't be completely lost
> if the program crashes.
>
> -- 
> Mike Orr <[email protected]>
>
> >

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to