webApi 处理数据耗时很长(5分钟),我想在这个方法中创建个线程再写个方法处理这个很慢的业务可以么?大神们一般都怎么呢解决啊?

菜鸟王小凡 2019-05-25 04:51:47
实际业务场景是, 群发功能。点击按钮时候把但当前状态修改了。实现群发功能,这个群发调用第三方的有限制,比较慢。等到处理完ajax就超时了,我想修改状态时候 在里边开个线程调用别的接口(接口群发操作的)先把当前返回了。可以么? 大神们一般怎么解决啊?谢谢!!
...全文
633 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这种不需要用户知道结果的,直接可以返回已发送之类的结果,后台可以开个线程去执行,如果业务准确性要求教高,那么可以考虑增加Mq,或者通过https://github.com/fdstar/LongIntervalRetries这种类似的job框架执行
菜鸟王小凡 2019-05-26
  • 打赏
  • 举报
回复
引用 5 楼 娃都会打酱油了 的回复:
这种不需要用户知道结果的,直接可以返回已发送之类的结果,后台可以开个线程去执行,如果业务准确性要求教高,那么可以考虑增加Mq,或者通过https://github.com/fdstar/LongIntervalRetries这种类似的job框架执行
我的要求性不高,就是个通知。我最后把结果记录一下就行了。
菜鸟王小凡 2019-05-26
  • 打赏
  • 举报
回复
引用 3 楼 吉普赛的歌 的回复:
你的想法是可以的。 太慢的操作, 不可能一直等待, 用户体验不好。 另外, 耗时5分钟, 这也未免太长了吧? 最好是定位具体什么地方慢, 如果是数据库慢, 可以贴相关表结构、索引、查询SQL 出来, 看能不能优化?
调用的第三方通知, 是免费我们处理不了。 3万条数据提一次一个提交给第三方。所以很慢.
极客诗人 2019-05-25
  • 打赏
  • 举报
回复
个人觉得5S的等待 用户估计都会炸掉 更何况5分钟。。
吉普赛的歌 2019-05-25
  • 打赏
  • 举报
回复
你的想法是可以的。 太慢的操作, 不可能一直等待, 用户体验不好。 另外, 耗时5分钟, 这也未免太长了吧? 最好是定位具体什么地方慢, 如果是数据库慢, 可以贴相关表结构、索引、查询SQL 出来, 看能不能优化?
菜鸟王小凡 2019-05-25
  • 打赏
  • 举报
回复
引用 1 楼 wangmoxhn 的回复:
提交之后立即返回提交成功就行了。后台慢慢发,成功一个就标记一个状态,前端查询状态就行了。状态比如有,等待发送,发送成功,发送失败等
我现在就这么处理的。谢谢了哈。
wangmoxhn 2019-05-25
  • 打赏
  • 举报
回复
提交之后立即返回提交成功就行了。后台慢慢发,成功一个就标记一个状态,前端查询状态就行了。状态比如有,等待发送,发送成功,发送失败等

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧