Beispiel #1
0
    void CertificateExpirationMonitor::taskDoWork() {
        const Milliseconds timeSinceLastCheck = Date_t::now() - _lastCheckTime;

        if (timeSinceLastCheck < oneDay)
            return;

        const Date_t now = Date_t::now();
        _lastCheckTime = now;

        if (_certExpiration <= now) {
            // The certificate has expired.
            warning() << "Server certificate is now invalid. It expired on "
                      << dateToISOStringUTC(_certExpiration);
            return;
        }

        const auto remainingValidDuration = _certExpiration - now;

        if (remainingValidDuration <= 30 * oneDay) {
            // The certificate will expire in the next 30 days.
            warning() << "Server certificate will expire on "
                      << dateToISOStringUTC(_certExpiration) << " in "
                      << durationCount<stdx::chrono::hours>(remainingValidDuration) / 24
                      << " days.";
        }
    }
    void ReplicationCoordinatorImpl::_scheduleHeartbeatToTarget(
            const HostAndPort& target,
            int targetIndex,
            Date_t when) {

        LOG(2) << "Scheduling heartbeat to " << target << " at " << dateToISOStringUTC(when);
        _trackHeartbeatHandle(
                _replExecutor.scheduleWorkAt(
                        when,
                        stdx::bind(&ReplicationCoordinatorImpl::_doMemberHeartbeat,
                                   this,
                                   stdx::placeholders::_1,
                                   target,
                                   targetIndex)));
    }