Observer/CheckVersion.php
public function execute(Observer $observer) // @codingStandardsIgnoreLine - unused parameter
    {
        if ($this->backendAuthSession->isLoggedIn() == false) {
            return;
        }

        if ($this->getFrequency() + $this->getLastUpdate() > time()) {
            return;
        }

        $modulePath = $this->moduleRegistry->getPath(ComponentRegistrar::MODULE, 'Fastly_Cdn');
        $filePath = str_replace(['\\', '/'], DIRECTORY_SEPARATOR, "$modulePath/composer.json");
        $composerData = json_decode(file_get_contents($filePath)); // @codingStandardsIgnoreLine - not user controlled
        $currentVersion = !empty($composerData->version) ? $composerData->version : false;

        if ($currentVersion) {
            $this->feedFactory->checkUpdate($currentVersion);
        }

        $this->setLastUpdate();
    }
public function execute(Observer $observer) // @codingStandardsIgnoreLine - unused parameter
    {
        if ($this->backendAuthSession->isLoggedIn() == false) {
            return;
        }

        if ($this->getFrequency() + $this->getLastUpdate() > time()) {
            return;
        }

        $modulePath = $this->moduleRegistry->getPath(ComponentRegistrar::MODULE, 'Fastly_Cdn');
        $filePath = str_replace(['\\', '/'], DIRECTORY_SEPARATOR, "$modulePath/composer.json");
        $composerData = json_decode(file_get_contents($filePath)); // @codingStandardsIgnoreLine - not user controlled
        $currentVersion = !empty($composerData->version) ? $composerData->version : false;

        if ($currentVersion) {
            $this->feedFactory->checkUpdate($currentVersion);
        }

        $this->setLastUpdate();
    }
Predispatch admin user login success

@param Observer $observer
@return $this|void