在PHP中尽可能快地点击URL

在PHP中尽可能快地点击URL,php,performance,api,rest,Php,Performance,Api,Rest,在我的PHP应用程序中,我需要进行REST风格的API调用并继续工作。我不关心API调用的结果(因此我不需要看到返回值),但我需要能够启动它并继续工作 如果我使用file\u get\u contents()来执行此操作,那么它将等待url返回。我可以在CURL中设置超时,但是它允许的最小超时是1秒,所以这不是很有用。我已经在CURL中寻找了其他选项,但还没有找到任何 由于我已经编写了API的这一部分,我目前正在让它立即返回并继续在代码中工作,但在将来,如果我与其他外部API交谈,那么我需要知道

在我的PHP应用程序中,我需要进行REST风格的API调用并继续工作。我不关心API调用的结果(因此我不需要看到返回值),但我需要能够启动它并继续工作

如果我使用
file\u get\u contents()
来执行此操作,那么它将等待url返回。我可以在CURL中设置超时,但是它允许的最小超时是1秒,所以这不是很有用。我已经在CURL中寻找了其他选项,但还没有找到任何


由于我已经编写了API的这一部分,我目前正在让它立即返回并继续在代码中工作,但在将来,如果我与其他外部API交谈,那么我需要知道如何做到这一点,而且似乎更好的做法是不依赖某些外部代码来继续脚本工作这可能不是很正常,要求一个网址,而不关心什么回来,但这是我需要的!有人知道怎么做吗?

如果您可以从客户端尝试,这可能会有所帮助

function loadNow()
{
    $.load('cURL URL');
}
setInterval('loadNow()', 500);

希望这有帮助!:)

如果您可以从客户端尝试,这可能会有所帮助

function loadNow()
{
    $.load('cURL URL');
}
setInterval('loadNow()', 500);
希望这有帮助!:)

只需使用,并在返回响应头后终止连接

这假定在内容开始处理之前发送响应头,并且一旦断开连接,远程脚本将继续运行。

只需使用,并在返回响应头后终止连接


此假设在内容开始处理之前发送响应头,并且一旦您断开连接,远程脚本将继续运行。

听起来您可能想考虑将调用移动到API到后台作业。

您可能想考虑PHP RESQUE,


或者使用一个db表和一个cron作业来实现您自己的

>听起来你可能想考虑将调用移动到API到后台作业。

您可能想考虑PHP RESQUE,


或者使用一个db表和一个cron作业来实现您自己的pcntl_fork值得一看()你尝试将CURL timeout设置为1秒吗?我不擅长并行PHP编程,但可能
pcntl_fork
值得一看()我不知道,@TheLQ,我更关心
eval()
'd函数调用的可能性要比没有启用Javascript的可能性大,或者我们在服务器上讨论的事实要大。如果您需要Javascript来使用该站点,除了服务器端引起的争论之外,这也是一个争论点。但是间隔应该是
setInterval(loadNow,500)
@JaredFarrish函数名应该在
'
中。哦,不,相信我。但是它可以
eval
s字符串。引述:应不惜一切代价避免使用eval。99.9%的“用途”可以在没有它的情况下实现。使用函数标识符,如名称或匿名函数。此外,避免上学。看。我不知道,@TheLQ,我更关心的是
eval()
'd函数调用,而不是有人可能没有启用Javascript,或者我们在服务器上讨论的事实。如果您需要Javascript来使用该站点,除了服务器端引起的争论之外,这也是一个争论点。但是间隔应该是
setInterval(loadNow,500)
@JaredFarrish函数名应该在
'
中。哦,不,相信我。但是它可以
eval
s字符串。引述:应不惜一切代价避免使用eval。99.9%的“用途”可以在没有它的情况下实现。使用函数标识符,如名称或匿名函数。此外,避免上学。看。嗯,我没有想到如果我没有保持连接打开,并且外部API仍然需要连接才能工作,会发生什么。这听起来好像意味着我应该用叉子来保持它,但你的答案是我要求的,所以我会接受。谢谢。有些web服务是以这样一种方式构建的:当客户端断开连接时,它们会保持运行。在PHP中,这是可配置的。嗯,我没有想到如果我没有保持连接打开,并且外部API仍然需要连接才能工作,会发生什么。这听起来好像意味着我应该用叉子来保持它,但你的答案是我要求的,所以我会接受。谢谢。有些web服务是以这样一种方式构建的:当客户端断开连接时,它们会保持运行。在PHP中,这是可配置的。