> On Thu March 7 2013 11:50:40 Roberto De Ioris wrote:
>> > On Thu March 7 2013 06:44:31 Damjan wrote:
>> >> > That is because the HUP sent on the emperor does not "binary-patch"
>> it
>> >> > but only trigger a respawn of all of its vassals. To batch an
>> emperor
>> >> > you have to shuwtdown it (taking down all of the vassals) and
>> restart.
>> >>
>> >> Which is why you should use --master with --emperor
>> >>
>> >> HUP-ing the master will re-exec the master and restart the emperor
>> >
>> > Unfortunately that brings me back to one of the issues I mentioned
>> > earlier.
>> > When I use --master and --emperor and do a reload after the binary
>> > upgrade,
>> > the sock files for the sites bein managed by emperor are deleted but
>> not
>> > recreated when it restarts.
>>
>> the Emperor does not manage sockets, they are created by vassals.
>>
>> The only socket created by the emperor is the stats one (if configured)
>
> I understand that. What I don't understand is why the vassals are not
> reloaded
> correctly in this case.
> Is it because of the binary change?
>
>> > Also, I get the impression using this method would not be that
>> graceful
>> > anyway
>> > since the emperor would be restarted stopping all the vassals.
>> > Would that not be correct?
>>
>> when you restart the emperor all of your vassals are restarted (by
>> design).
>>
>> The whole idea is that the Emperor is spawned on server startup (or in
>> the
>> container in the case of PaaS) and then you never touch it. If you need
>> to
>> upgrade such a vital piece (the Emperor) you'd better to schedule a
>> downtime (or better this is what i would do ;).
>
> I am fine with doing this as well. I will look into scheduling it
> differently.
>
>> Again, i am curious, why do you have such a need ?
>
> I was just curious to see whether there was a way to do it the same as
> nginx
> does to limit the amount of down time from the restart. I know it will be
> a
> small amount, but was wanting to see if it could be done.
>
> Thank you for your help.
>

Ok now i understand. The problem is that nginx is a single instance, while
in emperor mode we talk about potentially hundreds of unrelated processes
with different setup :) Binary patching works instance by instance without
problem, but the emperor is another beast :)


-- 
Roberto De Ioris
http://unbit.it
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to