0001 TPCACHED(8)
0002 ===========
0003 :doctype: manpage
0004
0005
0006 NAME
0007 ----
0008 tpcached - Enduro/X cache maintenance daemon
0009
0010
0011 SYNOPSIS
0012 --------
0013 *tpcached* ['OPTIONS']
0014
0015
0016 DESCRIPTION
0017 -----------
0018 *tpcached* is daemon process started by client process monitor (*cpmsrv*)
0019 (it needs to be registered in '<clients>' section
0020 for Enduro/X application domain). Only one copy of *tpcached* can be stated
0021 per cache database. If no CC tags are used, then one copy shall be run over the
0022 app domain. If CC tags are used for cache configuration, then multiple *tpcached*
0023 daemons can be started, per CC tag. The daemon performs following functions:
0024
0025 . Processes any cache databases if *expiry* flag is present. The daemon tests
0026 if records add time (UTC) plus expiry seconds are less than current system UTC
0027 time, then record is assumed expired and is deleted.
0028
0029 . Process any cache databases for which *clrnosvc* flag is present. In this case
0030 daemon tests that if cached record's service name is not advertised in shared memory,
0031 then record is deleted from cache.
0032
0033 . Process any limited cache databases having flags *lru* (last recently used),
0034 *hits* (number of record hits) or *fifo* (first in, first out) order. The process
0035 copies all records to allocated linear array and performs qsort to find records
0036 which are beyond the limit. If there are any such records over *limit* value,
0037 then those records are deleted. If duplicates were allowed for
0038 database (*timesync* flag set) then for limits mode, during the scanning, duplicate
0039 records are deleted too.
0040
0041 . Process any database for which *scandup* flag is set. During this mode any
0042 duplicate records found are deleted.
0043
0044 In case if cluster operations are configured and flag *bcastdel* is present, then
0045 in case of record removal, this event is broadcast to Enduro/X event server which
0046 then delivers the notification of record removal to all machines. The event
0047 is not sent in case if duplicate record is removed, as duplicate scan can be
0048 done by *tpcached* on other machine.
0049
0050 KEYGROUP OPERATIONS
0051 -------------------
0052 *tpcached* can process any database. This can be normal service data storage
0053 databases or keygroup storage/keyitems storage -
0054 used for linking some kind of records into single group (for example user
0055 is doing paging over its statement records). Thus for example
0056 the group is user id and items are pages. In this case expiry and
0057 other limits can be applied to keygroup or key items databases too.
0058 In case if key item (some page expires) for db with *keyitems* flag,
0059 then the item is removed from group too. In case if group
0060 expires (database with *keygroup* flag), then all linked records are
0061 removed from keyitems database and the group record by it self is removed too.
0062 In case of group expire, only group key is broadcast to other nodes (if
0063 configured so).
0064
0065
0066 OPTIONS
0067 -------
0068 [*-i* 'INTERVAL_SLEEP_TIME']::
0069 'INTERVAL_SLEEP_TIME' is number of seconds for cache daemon to sleep between scans.
0070 The default value is *5* (seconds).
0071
0072 EXIT STATUS
0073 -----------
0074 *0*::
0075 Success
0076
0077 *-1*::
0078 Failure
0079
0080
0081 CONFIGURATION EXAMPLE
0082 ---------------------
0083 See *atmitest/test048_cache/ndrxconfig-dom1.xml* for configuration example.
0084
0085 BUGS
0086 ----
0087 Report bugs to support@mavimax.com
0088
0089 SEE ALSO
0090 --------
0091 *ex_env(5)* *ex_adminman* *tpcachebtsv(8)* *tpcachesv(8)* *xadmin(8)*
0092
0093 COPYING
0094 -------
0095 (C) Mavimax, Ltd
0096