我正在构建一个Facebook Messenger聊天机器人,可以处理长期运行的作业(这可能会失败),我需要在作业完成之前回复Facebook 200。
我试过使用管道,但过了一段时间后,我意识到我不知道我在做什么。
我如何才能做到这一点?
提前感谢
编辑:正如epsilonhalbe所指出的,这个问题非常广泛。我会试着说得更清楚。
现在我有这样的想法:
myHandler :: Message -> Handler Text
myHandler msg = do
doSomeStuff msg
return "ok"问题是"doSomeStuff“是一个很长的过程,它会给出一个超时错误。所以我想要实现的是在这个过程完成之前回答"ok“。Http代码被接受202。
我在想,向邮箱发送消息可能是一种解决方案。但我想要一种更惯用的方式。
发布于 2017-08-20 09:34:26
我在工作中使用hworker来做这样的事情--批量发送电子邮件。您可以为长期运行的作业创建Job、ToJSON和FromJSON的实例,然后在需要启动作业时使用queue。您还需要Redis来跟踪您的作业状态,以便使用hworker。
https://stackoverflow.com/questions/45777592
复制相似问题