相关疑难解决方法(0)

异步运行PHP任务

我在一个有点大的Web应用程序上工作,后端主要是在PHP中.代码中有几个地方我需要完成一些任务,但我不想让用户等待结果.例如,在创建新帐户时,我需要向他们发送欢迎电子邮件.但是当他们点击"完成注册"按钮时,我不想让他们等到实际发送电子邮件,我只想启动该过程,并立即向用户返回消息.

到目前为止,在某些地方,我一直在使用exec()感觉像是一个黑客.基本上做的事情如下:

exec("doTask.php $arg1 $arg2 $arg3 >/dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但我想知道是否有更好的方法.我正在考虑编写一个在MySQL表中排队任务的系统,以及一个单独的长时间运行的PHP脚本,每秒查询一次该表,并执行它找到的任何新任务.如果需要的话,这也有可能让我将来在几台工作机器之间拆分任务.

我是在重新发明轮子吗?有没有比exec()hack或MySQL队列更好的解决方案?

php queue asynchronous background task

136
推荐指数
7
解决办法
11万
查看次数

带有HEAD请求的Content-Length标头?

HTTP规范说的有关HEAD要求:

HEAD方法与GET相同,只是服务器不能在响应中返回消息体.响应HEAD请求的HTTP头中包含的元信息应该与响应GET请求时发送的信息相同.

HEAD请求的响应是否应包含Content-Length标题?GET即使没有响应机构,它应该是在请求中返回的值吗?或者Content-Length应该为0?

rest http http-headers

62
推荐指数
5
解决办法
4万
查看次数

如果我检查"内容长度"标题,它是否100%准确?

如果没有,它有多准确?

我想在下载之前知道图像的大小.

browser url header http

3
推荐指数
1
解决办法
4261
查看次数

标签 统计

http ×2

asynchronous ×1

background ×1

browser ×1

header ×1

http-headers ×1

php ×1

queue ×1

rest ×1

task ×1

url ×1