Heroku PHP在发送响应后继续进程执行

6g8kf2rb  于 2022-11-13  发布在  PHP
关注(0)|答案(1)|浏览(118)

我有一个代码,它在返回一个ok 200响应请求后运行一个轻量级的后台任务。
这段代码在大多数Apache服务器上运行良好,它曾在heroku上运行,但最近停止了,现在在整个代码运行后返回响应。
有什么办法吗???

ob_start();
ignore_user_abort(); // optional

echo ('{"text": "json Response message to the user".}'); // JSON Response
header('Content-Length: ' . ob_get_length());
header('Content-Type: '.'application/json');
header("Connection: close");

ob_end_flush();
ob_flush();
flush();    
session_write_close(); // Added a line suggested in the comment

// Background task here
sleep(1);
echo('Response the user will never see');

for ($i=0; $i<12; $i++) {
    sleep(1);
}

相关问题