[Async-sig] asyncio.Lock equivalent for multiple processes

Antoine Pitrou solipsis at pitrou.net
Tue Apr 17 09:16:54 EDT 2018



You could simply use something like the first 64 bits of
sha1("myapp:<lock name>")

Regards

Antoine.


On Tue, 17 Apr 2018 15:04:37 +0200
Ludovic Gasc <gmludo at gmail.com> wrote:
> Hi Antoine & Chris,
> 
> Thanks a lot for the advisory lock, I didn't know this feature in
> PostgreSQL.
> Indeed, it seems to fit my problem.
> 
> The small latest problem I have is that we have string names for locks,
> but advisory locks accept only integers.
> Nevertheless, it isn't a problem, I will do a mapping between names and
> integers.
> 
> Yours.
> 
> --
> Ludovic Gasc (GMLudo)
> 
> 2018-04-17 13:41 GMT+02:00 Antoine Pitrou <solipsis at pitrou.net>:
> 
> > On Tue, 17 Apr 2018 13:34:47 +0200
> > Ludovic Gasc <gmludo at gmail.com> wrote:  
> > > Hi Nickolai,
> > >
> > > Thanks for your suggestions, especially for the file system lock: We  
> > don't  
> > > have often locks, but we must be sure it's locked.
> > >
> > > For 1) and 4) suggestions, in fact we have several systems to sync and  
> > also  
> > > a PostgreSQL transaction, the request must be treated by the same worker
> > > from beginning to end and the other systems aren't idempotent at all,  
> > it's  
> > > "old-school" proprietary systems, good luck to change that ;-)  
> >
> > If you already have a PostgreSQL connection, can't you use a PostgreSQL
> > lock?  e.g. an "advisory lock" as described in
> > https://www.postgresql.org/docs/9.1/static/explicit-locking.html
> >
> > Regards
> >
> > Antoine.
> >
> >
> >  
> 





More information about the Async-sig mailing list