Re: How to run a task continuously in the background
От | Weatherby,Gerard |
---|---|
Тема | Re: How to run a task continuously in the background |
Дата | |
Msg-id | 04008F3C-CFA3-44D4-8A20-A5390A131AC9@uchc.edu обсуждение исходный текст |
Ответ на | Re: How to run a task continuously in the background (Dirk Mika <Dirk.Mika@mikatiming.de>) |
Список | pgsql-general |
We used a python process running continually on a linux client for the LISTEN piece.
Reading the documentation, it seems that a background worker ( https://www.postgresql.org/docs/11/bgworker.html) might be a solution to your requirements. I don’t have personal experience with them.
--
Gerard Weatherby | Application Architect
NMRbox | Department of Molecular Biology and Biophysics | UConn Health
263 Farmington Avenue, Farmington, CT 06030-6406
Phone: 860 679 8484
uchc.edu
Gerard Weatherby | Application Architect
NMRbox | Department of Molecular Biology and Biophysics | UConn Health
263 Farmington Avenue, Farmington, CT 06030-6406
Phone: 860 679 8484
uchc.edu
On Jul 17, 2019, at 5:57 AM, Dirk Mika <Dirk.Mika@mikatiming.de> wrote:You will have a trigger that, once new tuples are created (or olderupdate and so on) issues a NOTIFY.Somewhere (within PostgreSQL or outside it) there will be a processthat issued a LISTEN and is locked until a notify comes in. Then itdoes process whatever you need to do.As an example your trigger function will be something likeand your listening process will be something likeThanks for the examples. I’ll look into them.This makes your processing fully asynchronous, and with some tuneallows you to decide the start/stop/resume policy as you need/wish.Besides, it is quite hard for me to get to the point where you need tocheck for new data every second, and therefore why you are notsatisfied with pg_cron or stuff like that.pg_cron doesn’t start the task instantly and queues subsequent runs, if the task is still running. I just need to start the task once and it should keep running until stopped / killed.Maybe I'll have to rephrase it.Suppose I have a procedure and want to start it without the client where I start the procedure waiting for it to finish. And I want the procedure to continue even if the client that started it quits.And I want to be able to check if the procedure is still running.Dirk
--
Dirk Mika
Software Developer<image001_d0a5cf51-5dd3-4ff5-b428-1016a6d95a0f.png>
mika:timing GmbH
Strundepark - Kürtener Str. 11b
51465 Bergisch Gladbach
Germanyfon +49 2202 2401-1197
dirk.mika@mikatiming.de
www.mikatiming.deAG Köln HRB 47509 * WEEE-Reg.-Nr. DE 90029884
Geschäftsführer: Harald Mika, Jörg Mika
В списке pgsql-general по дате отправления: