如何异步执行任务

郭德纲

最近打算搞一个消息队列服务,有两个角色:生产者和消费者,生产者向消息队列添加任务,消费者负责从消息队列取任务并执行任务。
 
消费者取到任务开始执行任务后,如果执行时间超过了一个值,消息队列服务就会向消费者发送停止任务的消息。
但是由于是阻塞执行,消费者无法在执行过程中接收到停止任务的消息。
 
看了一下文档提供的异步执行任务的例子,似乎执行任务这块也是阻塞执行的,只是把它从主业务中剥离出来了而已。
 
有人知道什么方法可以异步执行任务的时候也能够接收到停止任务的消息吗?

3711 1 0
1个回答

walkor

如果业务是阻塞的,workerman得不到php控制权,无法收到下一个消息。

  • 暂无评论
年代过于久远,无法发表回答
🔝