#!/usr/bin/php FetchLastDiscussionTimestamp(); } catch(Exceptions\AppException $ex){ Log::WriteErrorLogEntry($ex->getMessage()); } try{ $project->FetchLatestCommitTimestamp($apiKey); } catch(Exceptions\AppException $ex){ Log::WriteErrorLogEntry($ex->getMessage()); } if( $project->Status == Enums\ProjectStatusType::InProgress && ( ( $project->LastCommitTimestamp !== null && $project->LastDiscussionTimestamp === null && $project->LastCommitTimestamp < $oldestAllowedTimestamp ) || ( $project->LastCommitTimestamp !== null && $project->LastDiscussionTimestamp !== null && $project->LastCommitTimestamp < $oldestAllowedTimestamp && $project->LastDiscussionTimestamp < $oldestAllowedTimestamp ) ) ){ // An active `Project` has stalled. $project->Status = Enums\ProjectStatusType::Stalled; } elseif( $project->Status == Enums\ProjectStatusType::Stalled && ( ( $project->LastCommitTimestamp !== null && $project->LastDiscussionTimestamp === null && $project->LastCommitTimestamp >= $oldestAllowedTimestamp ) || ( $project->LastCommitTimestamp !== null && $project->LastDiscussionTimestamp !== null && ( $project->LastCommitTimestamp >= $oldestAllowedTimestamp || $project->LastDiscussionTimestamp >= $oldestAllowedTimestamp ) ) ) ){ // Revive previously-stalled `Project`s. $project->Status = Enums\ProjectStatusType::InProgress; } $project->Save(); sleep(1); }