#
# Sets up the Python settings
#
# Things to remember:
# server: the live Perforce server. The Demon will be run from here.
# backup: the Perforce server that will be updated. Must
# not be live, or DB corruptions can occur.
POLL_INTERVAL = 2
P4API = False
DIE_ON_FATAL_ERROR = True
# details about the source server
class SERVER:
host = "@P4D_HOST@"
journal = "@P4D_JOURNAL@"
# Location of the journal file. The daemon will
# append ".jnl.(sequencenumber)" (and .gz if it's compressed) to this
# value.
rotateJournal = "@P4D_ROTATE_JOURNAL@"
# Indicates the last checkpoint the remote server was restored from. Used
# to know when to stop looking backwards through the Journal file. If
# this is set to None, then the daemon will use the value of the
# p4 counter 'remote-checkpoint', and if this is a string, then the
# daemon will use the value of the p4 counter with that as the counter name.
lastCheckpoint = @LAST_CHECKPOINT@
# location of executable files
P4 = "@P4D_P4@"
P4D = "@P4D_P4D@"
RSYNC = "rsync"
SSH = "ssh"
SCP = "scp"
# location of data files
datadir = "@P4D_LOGDIR@"
# map from the depot name to the directory on the local server.
depotDirs = {@DEPOT_SETTINGS@
#'depot': '/usr/local/perforce/db/depot'
}
# Environment variables for running Perforce commands
# The environment variable P4ENV contains a list of environment variable
# names to add
P4ENV = {@P4ENV_SETTINGS@
}
P4CMD = (
"@P4D_P4@",
"-p", "@P4D_PORT@",
"-u", "@P4D_ADMINUSER@",
"-P", "@P4D_ADMINPASSWD@"
)
# Defines maximum Journal entries to send via SSH to the hot backup server
# per SSH connection.
# By increasing this value, you make the Daemon more performant by pushing
# a larger collection of Journal lines to the remote server. By decreasing
# this value, you make the Daemon more defensive against critical failures.
# If a critical failure happens to the logDaemon before these lines are
# transmitted, they will be lost on the remote server.
maxSSHLineTransfer = 5000
# Defines maximum number of files to push over to the remote hot backup
# server per RSync command.
maxRSyncFileTransfer = 150
pass
# details about the target server
class BACKUP:
# hostname or IP address of the backup server
host = "@P4D_REMOTEHOST@"
# user on the remote host, which will connect via SSH. An SSH Key
# should be setup locally to allow for a non-password login.
user = "@P4D_REMOTEUSER@"
# map from the depot name to the directory on the remote server.
depotDirs = {@REMOTEDEPOT_SETTINGS@
#'depot': '/usr/local/perforce/db/depot'
}
# location of the P4D executable and any execution options
P4D = ('@P4D_P4D@',
'-r', '@P4D_REMOTEROOT@',
'-J', '@P4D_JOURNAL@',
'-L', '@P4D_LOG@'
)
# options for updating the journal from the live journal
P4D_JOURNAL_OPTS = (
'-f', '-jr',
# read the fragment from stdin
'-'
)
# Directory to store the checkpoint files that get copied from SERVER
# for use in recovering from a checkpoint.
# not needed at the moment
# checkpointDir = '/var/p4d'
pass
class LOGGING:
# The log file for this demon process
logfile = "@P4D_LOGDIR@/logDaemon.log"
# the format for the time. See
# http://python.org/doc/2.2.3/lib/module-time.html#strftime
# for details on the format
timeFormat = "[%Y-%m-%d %H:%M:%S] "
# 0 = FATAL
# 1 = ERR
# 2 = WARN
# 3 = INFO
# 4 = VERBOSE
# 5 = DEBUG
logLevel = 5
adminEmail = '@P4D_ADMIN_EMAIL@'
emailLogLevel = 1
emailSubjectPrefix = '[P4 Journal Daemon]'
emailErrorSubject = 'Execution Error'
emailSender = '@P4D_EMAIL@'
emailReplyTo = '@P4D_EMAIL_REPLYTO@'
smtpHost = '@P4D_SMTP_HOST@'
pass
class JOURNAL:
listeners = (
'hotbackup.RemoteUpdateJournal',
'hotbackup.RemoteUpdateDepot',
'metadatasync.RetrieveMetaChanges'
# 'review.EmailChanges'
)
pass
class METADATASYNC:
# Map between the meta-data type and the path where it's located
updateP4 = {
'groups': '//depot/meta-data/groups/'
}
pass
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #6 | 5850 | Matt Albrecht | Update logDaemon to version 1.5. | ||
| #5 | 5810 | Matt Albrecht |
New version of logDaemon that has better bug fixes. Also added server-status web page for a pure client-side AJAX app that pulls together different server-side statistics. |
||
| #4 | 5805 | Matt Albrecht | Update to version 1.3-alpha | ||
| #3 | 5788 | Matt Albrecht | Bug fixes to the logDaemon, bumping the version number to 1.2 | ||
| #2 | 5780 | Matt Albrecht | Update tool with lots of goodies | ||
| #1 | 5424 | Matt Albrecht | Add a journal file daemon tool. |