Обсуждение: LISTEN / NOTIFY

Поиск
Список
Период
Сортировка

LISTEN / NOTIFY

От
aditya desai
Дата:
Hi,
Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to and from Postgres? Do you have steps to implement it? 

Regards.
Aditya.

Re: LISTEN / NOTIFY

От
Erik Brandsberg
Дата:
You will need to provide more info, such as what language and driver you are trying to implement this with.  I have implemented it with Java, but the driver has a specific API to implement this.  

On Mon, Oct 11, 2021 at 10:12 AM aditya desai <admad123@gmail.com> wrote:
Hi,
Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to and from Postgres? Do you have steps to implement it? 

Regards.
Aditya.


--
Erik Brandsberg
erik@heimdalldata.com

www.heimdalldata.com
+1 (866) 433-2824 x 700
AWS Competency Program

Re: LISTEN / NOTIFY

От
aditya desai
Дата:
Hi Erik,
Thanks for response. We will be implementing it in Java or .NET. Could you please send steps for Java?

I am not a Java expert and I am completely DB person. So do we need external API to enqueue and dqueue messages. Completely new to this concept. Please bear with me :)

Regards,
Aditya.

On Monday, October 11, 2021, Erik Brandsberg <erik@heimdalldata.com> wrote:
You will need to provide more info, such as what language and driver you are trying to implement this with.  I have implemented it with Java, but the driver has a specific API to implement this.  

On Mon, Oct 11, 2021 at 10:12 AM aditya desai <admad123@gmail.com> wrote:
Hi,
Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to and from Postgres? Do you have steps to implement it? 

Regards.
Aditya.


--
Erik Brandsberg
erik@heimdalldata.com

www.heimdalldata.com
+1 (866) 433-2824 x 700
AWS Competency Program

Re: LISTEN / NOTIFY

От
"David G. Johnston"
Дата:


On Monday, October 11, 2021, aditya desai <admad123@gmail.com> wrote:
Hi,
Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to and from Postgres? Do you have steps to implement it? 

Listen/notify are not a queuing system, they are a notification system.

David J. 

Re: LISTEN / NOTIFY

От
Steve Midgley
Дата:

On Mon, Oct 11, 2021 at 8:36 AM David G. Johnston <david.g.johnston@gmail.com> wrote:


On Monday, October 11, 2021, aditya desai <admad123@gmail.com> wrote:
Hi,
Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to and from Postgres? Do you have steps to implement it? 

Listen/notify are not a queuing system, they are a notification system.

I agree with David - you _could_ implement a work queue using LISTEN / NOTIFY as primitive components, but they are not anything like a complete queuing system. I would recommend implementing any number of open source or licensed message queue solutions that will work with Postgres. RabbitMQ is widely known and used. I've used SideKiq and Resque (both being in Ruby, a language I like). I think it would be unwise to implement your own queue system directly on top of LISTEN/NOTIFY. There are so many edge cases to queue management, it's almost like implementing your own encryption algorithm on top of Postgres' math functions. There are OSS tools out there that will almost certainly do what you want.

Steve




Re: LISTEN / NOTIFY

От
aditya desai
Дата:
Steve/David,
Thanks for response. I will look into this further.

Regards,
Aditya.

On Monday, October 11, 2021, Steve Midgley <science@misuse.org> wrote:

On Mon, Oct 11, 2021 at 8:36 AM David G. Johnston <david.g.johnston@gmail.com> wrote:


On Monday, October 11, 2021, aditya desai <admad123@gmail.com> wrote:
Hi,
Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to and from Postgres? Do you have steps to implement it? 

Listen/notify are not a queuing system, they are a notification system.

I agree with David - you _could_ implement a work queue using LISTEN / NOTIFY as primitive components, but they are not anything like a complete queuing system. I would recommend implementing any number of open source or licensed message queue solutions that will work with Postgres. RabbitMQ is widely known and used. I've used SideKiq and Resque (both being in Ruby, a language I like). I think it would be unwise to implement your own queue system directly on top of LISTEN/NOTIFY. There are so many edge cases to queue management, it's almost like implementing your own encryption algorithm on top of Postgres' math functions. There are OSS tools out there that will almost certainly do what you want.

Steve




Re: LISTEN / NOTIFY

От
Erik Brandsberg
Дата:
As others have said, a queue system and message system are not exactly the same.   Can you explain your goal, as the listen/notify may not be appropriate for your use.  If what you want is really just a message system, then the example we based our code on is at https://jdbc.postgresql.org/documentation/81/listennotify.html.

Keep in mind, if you connect (or reconnect) to the listen interface, you won't get any messages sent before it, so it isn't exactly what you want if you need a persistent queue, say for a job queue.  We use it for invalidating cache content.  

On Mon, Oct 11, 2021 at 11:31 AM aditya desai <admad123@gmail.com> wrote:
Hi Erik,
Thanks for response. We will be implementing it in Java or .NET. Could you please send steps for Java?

I am not a Java expert and I am completely DB person. So do we need external API to enqueue and dqueue messages. Completely new to this concept. Please bear with me :)

Regards,
Aditya.

On Monday, October 11, 2021, Erik Brandsberg <erik@heimdalldata.com> wrote:
You will need to provide more info, such as what language and driver you are trying to implement this with.  I have implemented it with Java, but the driver has a specific API to implement this.  

On Mon, Oct 11, 2021 at 10:12 AM aditya desai <admad123@gmail.com> wrote:
Hi,
Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to and from Postgres? Do you have steps to implement it? 

Regards.
Aditya.


--
Erik Brandsberg
erik@heimdalldata.com

www.heimdalldata.com
+1 (866) 433-2824 x 700
AWS Competency Program


--
Erik Brandsberg
erik@heimdalldata.com

www.heimdalldata.com
+1 (866) 433-2824 x 700
AWS Competency Program