Re: What is the best way to do this in Postgres

Erik Brandsberg <erik@heimdalldata.com>

From: Erik Brandsberg <erik@heimdalldata.com>
To: kunwar singh <krishsingh.111@gmail.com>
Cc: pgsql-sql <pgsql-sql@lists.postgresql.org>
Date: 2024-12-08T17:06:43Z
Lists: pgsql-sql
Check the extension ph_cron, while I have never used it, it may be good to
use as part of the solution.

On Sun, Dec 8, 2024, 6:39 AM kunwar singh <krishsingh.111@gmail.com> wrote:

> Hello Listers,
> Looking for your inputs on the most efficient way to do it in Postgres.
>
> What I want to do:
> ===
> I want to spawn 10 concurrent sessions each executing a complex stored
> procedure with one of the parameters being the product ID.
> Example
>
> CALL process_product(curdate, region, productid=>1) ;
> CALL process_product(curdate, region, productid=>2) ;
> CALL process_product(curdate, region, productid=>3) ;
> CALL process_product(curdate, region, productid=>4) ;
> ...
> CALL process_product(curdate, region, productid=>10) ;
>
>
> Say I get a list of product IDs by running a big query
>
> Product ID
> ====
> 1
> 2
> 3
> 4
> ..
> 10
>
>
> Additional Information
> ===
> Everytime number of product ids will change. At a given time there should
> be no more than 10 concurrent sessions of process_product.
> I want to trigger these procedure calls once every hour. For a given hour
> the number of product IDs could range from 10 to 100 in total.
> I am using RDS Postgres v 15.
>
> Question
> ===
> I know I can create a bash script or Python script , but I am wondering if
> there is a smarter way to do it in Postgres?
>
>
>
> --
> Cheers,
> Kunwar
>