diff --git a/server/run-tasks.php b/server/run-tasks.php new file mode 100644 index 0000000..f0ff695 --- /dev/null +++ b/server/run-tasks.php @@ -0,0 +1,66 @@ +", "", $prevIndexData); + $prevIndexData = unserialize($prevIndexData); + // Set timestamp back to epoch to force a re-index next time + $prevIndexData['timestamps']['indexed'] = 0; + file_put_contents(dirname(__FILE__)."/../data/index.php", ""); + } + } +} + +// Run continuously +while(true) { + // Get git diff output as a string and MD5 it as a checksum + $thisMD5 = shell_exec("cd .. && git diff | md5sum"); + // If we have a previous checksum value and the current is different to it + if (isset($prevMD5) && $thisMD5 !== $prevMD5) { + echo "Changed ".date("Y-m-d g:i:s a (U)")."\n"; + // Set timestamp of last index to 0 to force a re-index next time we index + requireReIndexNextTime(); + // Get a list of all that's changed, into an array (filtered to remove false entries) + $gitData = shell_exec("cd .. && { git diff --name-only --staged ; git ls-files --other --modified --exclude-standard ;} | sort | uniq"); + $diffLines = explode("\n", $gitData); + $output = ["paths" => array_filter($diffLines)]; + // Store the serialized array in PHP comment block for pick up + file_put_contents(dirname(__FILE__)."/../data/git-diff.php", ""); + + // Set Git contents + $output = []; + $paths = array_filter($diffLines); + shell_exec("cd .."); + for ($i=0; $i "modified", + "lastHash" => "abc123", + "lastHashContent" => $content + ]; + } + } + } + file_put_contents(dirname(__FILE__)."/../data/git-content.php", ""); + } + // Set prev MD5 to this one, ready for next time, sleep for 2 secs before loop starts again + $prevMD5 = $thisMD5; + sleep(2); + +} +?>