Skip to content

Instantly share code, notes, and snippets.

@solepixel
Created June 20, 2018 16:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save solepixel/f152a51d858cef59ba6ba486340408a3 to your computer and use it in GitHub Desktop.
Save solepixel/f152a51d858cef59ba6ba486340408a3 to your computer and use it in GitHub Desktop.
When load balancers have set timeouts at 30 seconds, this script will process requests that may take longer than 30 seconds (up to 15 minutes) without causing a timeout.
<?php
$cmd = "zip -9prv content_backup.zip .";
$pipe = popen($cmd, 'r');
if (empty($pipe)) {
throw new Exception("Unable to open pipe for command '$cmd'");
}
stream_set_blocking($pipe, false);
echo "\n";
while (!feof($pipe)) {
fread($pipe, 1024);
sleep(1);
echo ".";
flush();
}
echo "\n";
echo "Complete";
pclose($pipe);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment