我有这样的网络API:
public async Task<IHttpActionResult> PostTest(Model model)
{
db.UserOrders.Add(model);
await db.SaveChangesAsync();
await PushUtils.SendPush("title" , "message"); // heavy task
return Ok();
}
在这种方法中,用户必须等到执行繁重的任务 在将值返回给用户后,有没有办法执行此任务?
答案 0 :(得分:0)
我使用Hangfire:
public async Task<IHttpActionResult> PostTest(Model model)
{
db.UserOrders.Add(model);
await db.SaveChangesAsync();
BackgroundJob.Schedule(
() => PushUtils.SendPush("title" , "message"),
TimeSpan.FromSeconds(7));
return Ok();
}