Pub/Sub over Redis sounds good to me. Thanks again Dan.

On Saturday, February 24, 2018 at 1:11:16 AM UTC+8, Dan Book wrote:
>
> There are many options for synchronizing data between workers. The most 
> common is to use a database, but you can also use realtime methods like 
> pubsub over redis, postgres, or Mercury.
> -Dan
>
> On Fri, Feb 23, 2018 at 7:24 AM, Michael Fung <hkuse...@gmail.com 
> <javascript:>> wrote:
>
>> Many thanks, Dan. I am sorry I did not read the docs thoroughly enough.
>>
>> BTW, I wonder how the others do to synchronize secrets(or whatever data) 
>> between workers. My current code still leave a small time window for 
>> workers to be out of sync when they refresh the secrets. I use the secrets 
>> for JWT sign/encrypt stuff, for security they are refreshed every n hours 
>> by a housekeeper script... and I don't want to get the secrets from Redis 
>> cache every time I use them.
>>
>> Any hints will be much appreciated.
>>  
>> Rgds,
>> Michael
>>
>>
>> On Friday, February 23, 2018 at 4:18:32 PM UTC+8, Dan Book wrote:
>>>
>>> The startup method is run in the manager process before any forking. If 
>>> you want something to occur in each worker, you can run it in a 
>>> Mojo::IOLoop->next_tick callback. However note that this will also run in 
>>> each worker that is started later, to replace workers that reach their 
>>> max_accepts or stop responding.
>>> -Dan
>>>
>>> On Fri, Feb 23, 2018 at 2:48 AM, Michael Fung <hkuse...@gmail.com> 
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> I run my app like:
>>>>
>>>> ./script/web_api prefork -w 4 -c 100 -l "http://[::]:8808";
>>>>
>>>> In the startup section, I run a recurring timer and log an entry to the 
>>>> log file. However, the '*web api started*' log entry does not repeat 4 
>>>> times.
>>>>
>>>>
>>>>     $log->info('web api started');
>>>>
>>>>     Mojo::IOLoop->recurring(60 => sub {
>>>>         $log->info($$.' - do refresh_secrets');
>>>>         $refresh_secrets->();
>>>>     });
>>>>
>>>>
>>>> Log excerpt:
>>>>
>>>> [Fri Feb 23 15:19:22 2018] [info] web api started
>>>> [Fri Feb 23 15:20:22 2018] [info] 9471 - do refresh_secrets
>>>> [Fri Feb 23 15:20:22 2018] [info] 9468 - do refresh_secrets
>>>> [Fri Feb 23 15:20:22 2018] [info] 9469 - do refresh_secrets
>>>> [Fri Feb 23 15:20:22 2018] [info] 9470 - do refresh_secrets
>>>>
>>>>
>>>> Am I doing something wrong? 
>>>>
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Mojolicious" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to mojolicious...@googlegroups.com.
>>>> To post to this group, send email to mojol...@googlegroups.com.
>>>> Visit this group at https://groups.google.com/group/mojolicious.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Mojolicious" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to mojolicious...@googlegroups.com <javascript:>.
>> To post to this group, send email to mojol...@googlegroups.com 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/mojolicious.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mojolicious+unsubscr...@googlegroups.com.
To post to this group, send email to mojolicious@googlegroups.com.
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to