⚡ improve stability of long running requests
This commit is contained in:
parent
33a90c4a5f
commit
3d4d3bd373
|
@ -55,6 +55,10 @@
|
|||
|
||||
|
||||
// TRY SUBSCRIBING //
|
||||
// make sure session isn't locked
|
||||
if(extension_loaded("session")) session_write_close();
|
||||
|
||||
// subscribe
|
||||
if(!Newsletter::subscribe(mail_address: $mail_address, verify_key: $verify_key)){
|
||||
http_response_code(200);
|
||||
echo(json_encode([
|
||||
|
|
|
@ -55,6 +55,10 @@
|
|||
|
||||
|
||||
// REMOVE FROM MAILING LIST //
|
||||
// make sure session isn't locked
|
||||
if(extension_loaded("session")) session_write_close();
|
||||
|
||||
// unsubscribe
|
||||
if(!Newsletter::unsubscribe(mail_address: $mail_address, unsubscribe_key: $unsubscribe_key)){
|
||||
http_response_code(200);
|
||||
echo(json_encode([
|
||||
|
|
|
@ -54,6 +54,10 @@
|
|||
|
||||
|
||||
// VERIFY //
|
||||
// make sure session isn't locked
|
||||
if(extension_loaded("session")) session_write_close();
|
||||
|
||||
// verify
|
||||
Newsletter::verify(mail_address: $mail_address, language: $language);
|
||||
|
||||
|
||||
|
|
|
@ -64,6 +64,10 @@
|
|||
|
||||
|
||||
// TRY SENDING //
|
||||
// make sure session isn't locked
|
||||
if(extension_loaded("session")) session_write_close();
|
||||
|
||||
// send
|
||||
if(!Newsletter::send_one(mail_address: $mail_address, content_name: $content_name)){
|
||||
http_response_code(200);
|
||||
echo(json_encode([
|
||||
|
|
|
@ -378,11 +378,20 @@
|
|||
* @return bool Whether sending was successful.
|
||||
*/
|
||||
public static function send_one(string $mail_address, string $content_name): bool {
|
||||
// acquire runlock
|
||||
$old_ignore_user_abort = (bool)ignore_user_abort(true);
|
||||
|
||||
// read content
|
||||
$content = self::content_file_read($content_name);
|
||||
|
||||
// send content
|
||||
return self::send(mail_address: $mail_address, content: $content);
|
||||
$success = self::send(mail_address: $mail_address, content: $content);
|
||||
|
||||
// release runlock
|
||||
ignore_user_abort($old_ignore_user_abort);
|
||||
|
||||
// return success state
|
||||
return $success;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue