I always recommend a standalone external program called occasionally by cron as the simplest way to do these kinds of things.
Here's a quickie script in bash as an example
#!/bin/bash
# max time since last record in seconds
maxDifference=3600
# timestamp of the last record in the db
lastTimestamp=`echo "select dateTime from archive order by dateTime desc limit 1;" | sqlite3 weewx.sdb`
# current timestamp
now=`date +%s`
# difference in timestamps
declare -i delta=${now}-${lastTimestamp}
# print it out
echo "lastTimestamp=${lastRecord} now=${now} delta=${delta}"
if test ${delta} -gt ${maxDifference}
then
echo "too long since last record"
# put something here to syslog and/or email
else
echo "last record check within limits"
fi