异步任务与延迟任务

异步任务

什么是异步任务

程序中如果需要执行很耗时的操作,例如发邮件与发短信等。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。我们可以提供了异步处理功能,可以将耗时的任务投递到这个进程中执行,从而不影响当前请求的处理速度。

  • 异步任务中的耗时任务,是在另一个独立于当前进程中立即执行的;
  • 服务器资源吃紧时,可以延后一点时间执行耗时任务;

使用场景

  • 业务中的非主要业务/耗时任务都可以放在异步中执行,例如:写日志,发短信,发邮件

实现逻辑

延迟任务

什么是延迟任务

就是延迟一段时间后才执行的任务。相对异步任务,延迟任务不是立即执行

使用场景

  • 订单30分钟内未支付过期
  • 失败重试,例如写

实现逻辑

定时任务

定时任务就是固定在某个时间执行的,其功能完全可以使用linux的crontab命令代替。不过有些定时任务,比如毫秒级定时器,需要使用特定的代码实现。

此处评论已关闭