[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[LDM #UCO-749182]: pqinsert and SIGCONT



Tom,

> Does pqinsert send a SIGCONT to the LDM process group?

Only if the pqinsert(1) process was started by an EXEC entry in the LDM's 
configuration-file.

> Looking at the pqinsert.c source code it does not appear to (perhaps it
> buried in another module).

The SIGCONT is sent by the product-queue access module (pq.c).

> We would like to use pqinsert as our primary
> means of inserting data into the product queue and wake the upstream
> LDM immediately upon insertion (avoiding the up to 30 second wait for
> the upstream LDM to wake up on its own).

I recommend starting a script via an EXEC entry that uses pqinsert(1).

> According to this web page "Data-Product Ingesters
> 
> <http://www.unidata.ucar.edu/software/ldm/ldm-6.12.14/basics/programs.html#ingesters>"
> 
> an ingestor "... should send a SIGCONT
> 
> <http://www.unidata.ucar.edu/software/ldm/ldm-6.12.14/basics/glindex.html#SIGCONT>
> 
> signal to its process group
> 
> <http://www.unidata.ucar.edu/software/ldm/ldm-6.12.14/basics/glindex.html#process%20group>
> 
> whenever it inserts a data-product
> 
> <http://www.unidata.ucar.edu/software/ldm/ldm-6.12.14/basics/glindex.html#data-product>
> 
> into the product-queue
> 
> <http://www.unidata.ucar.edu/software/ldm/ldm-6.12.14/basics/glindex.html#product-queue>."
> 
> Since, pqinsert is an ingestor it should send it. However, it also says
> that pqinsert is "an ingester that not only runs outside the LDM process
> group but also self-terminates", which implies that it won't send it,
> correct?

The signal is sent by the product-queue module, which pqinsert(1) uses.

> How can pqinsert be used to send a SIGCONT to LDM process group?
> My notes from the LDM workshop class say that pqinsert has to be started
> from an EXEC line in the ldmd.conf file. I don't understand how that
> would work unless there is a pqinsert command line option to keep it from
> self-terminating and its accepts messages for each insertion. Perhaps
> you meant, "whatever, non-terminating process calling pqinsert must be
> started by an ldmd.conf EXEC entry"?

Start a script that never exits and uses pqinsert(1) in a loop.

Alternatively, execute a program outside the LDM system that sends a SIGCONT to 
the process-group identified by the file "ldmd.pid" in the LDM user's 
home-directory.

> Would it work if pqinsert is simply called by a process running as the
> ldm user?

See previous answer.

> Any advice would be greatly appreciated.
> 
> Tom Jordan, MSCS
> Software Engineering
> Harris Corporation
> Office: 321-309-7004, address@hidden<mailto:address@hidden>
> Location: R5/J176

Regards,
Steve Emmerson

Ticket Details
===================
Ticket ID: UCO-749182
Department: Support LDM
Priority: Normal
Status: Closed