| 600 | } |
| 601 | |
| 602 | async fn handle_async_ans(bp: &BasePayload, b: &[u8]) -> Result<Response> { |
| 603 | let transaction_id = bp.transaction_id; |
| 604 | |
| 605 | let key = redis_key(format!("backend:async:{}", transaction_id)); |
| 606 | |
| 607 | () = redis::pipe() |
| 608 | .atomic() |
| 609 | .cmd("XADD") |
| 610 | .arg(&key) |
| 611 | .arg("MAXLEN") |
| 612 | .arg(1_i64) |
| 613 | .arg("*") |
| 614 | .arg("pl") |
| 615 | .arg(b) |
| 616 | .ignore() |
| 617 | .cmd("EXPIRE") |
| 618 | .arg(&key) |
| 619 | .arg(30_i64) |
| 620 | .ignore() |
| 621 | .query_async(&mut get_async_redis_conn().await?) |
| 622 | .await?; |
| 623 | |
| 624 | Ok((StatusCode::OK, "").into_response()) |
| 625 | } |
| 626 | |
| 627 | pub async fn get_async_receiver( |
| 628 | transaction_id: u32, |