[asterisk-users] Asterisk Database Handling
Matthew J. Roth
mroth at imminc.com
Thu May 22 09:29:24 CDT 2008
Douglas Garstang wrote:
> >Not at all, just offering a workaround. If your master.csv is
> >complete and correct then it makes sense to use that data unless
> >someone can identify your problem and offer a fix.
>
> Unfortunately, not really feesible. I didn't design the system but we
> are using CDR's not only for billing purposes, but also to keep state
> on users. The state info (in a call, not in a call etc) needs to be
> updated in as close to real time as possible. Files won't do it.
Douglas,
I've written a program named replicate that may be of interest to you.
It replicates all writes to a file over a socket. The core of the
program is GNU tail, so it operates nearly in real time (it has
inherited the "--sleep-interval" argument for fine-tuning). I've been
using it in production for over a year to push all writes to the
queue_log to a remote reporting server and it has been rock solid.
It operates almost identically to "tail -F" except every new write to
the file is written over a socket connection. The remote end of the
connection is responsible for sending back an acknowledgment. If it
doesn't, replicate will spool the write to a temporary file on the local
machine. Once the remote end is responding again, the spool file is
written to it. This allows us to have downtime (expected or unexpected)
on the reporting server without losing any queue_log records.
I've never released replicate publicly, because I'm not sure how taking
a program like tail and adapting it to a new purpose is handled by the
GPL. However, I'm sure someone on this list more knowledgeable than
myself can help me understand that issue.
Regards,
Matthew Roth
InterMedia Marketing Solutions
Software Engineer and Systems Developer
More information about the asterisk-users
mailing list