Thanks.  I am definitely looking for a better workflow.  But I have to load
from redis a key that will turn into a hash every e.g. 5 minutes. I cant
load the hash every request.  It will be potentially large.

So if I dont use rbtimer  then within each worker then make a call to redis
after so many seconds. But this means a redis call for every worker in a
process rather then one.  Or am I missing something.

Thanks




On Sat, Oct 24, 2015 at 7:40 AM, Mikko Ohtamaa <[email protected]>
wrote:

>
> However, the worker has to use the updated hash to select items that might
>> have been updated from the data that was supposed to be updated from the
>> reloaded data.  However it is not.  For me to get updated data that works I
>> have to do a touch reload which defeats the purpose.  Below is my logic.
>> So how do I resolve?
>>
>
> I assume you are using global updated_hash. Global variables are not
> compatible with most web server process models. The global variable might
> end up in a different process, dead process, etc.
>
> I suggest you just keep *all* your data in a Redis and if you need to
> maintain a state variable, create a single Redis key for it.
>
> As a golden rule never write to global variables in Python web service
> processes (well... technically you can do it, but you really must know what
> you are doing).
>
> Thanks,
> Mikko
>
>
>
>
>>
>> Thanks
>>
>>
>> from uwsgidecorators import *
>> @rbtimer(120,target='workers')
>>  def load_redis(signum):
>>     updated_hash = redis.get('data')
>>    with open('/tmp/meta_post.json', 'w') as outfile:
>>             json.dump(updated_hash, outfile, indent=4, sort_keys=True)
>> <-THIS WORKS
>>
>>
>> def foo(updated_hash){
>>     do stuff
>>
>> @get('/hash/')
>> def hash():
>>
>>       json_data = foo(updated_hash) <- THIS USES OLD DATA
>>       return json_data
>>
>> _______________________________________________
>> uWSGI mailing list
>> [email protected]
>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>>
>>
>
>
> --
> Mikko Ohtamaa
> http://opensourcehacker.com
> http://twitter.com/moo9000
>
>
> _______________________________________________
> uWSGI mailing list
> [email protected]
> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
>
>
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to