risingwave_ctl/cmd_impl/
throttle.rs1use risingwave_pb::common::PbThrottleType;
16use risingwave_pb::meta::PbThrottleTarget;
17
18use crate::common::CtlContext;
19use crate::{ThrottleCommandArgs, ThrottleTypeArg};
20
21pub async fn apply_throttle(
22 context: &CtlContext,
23 kind: PbThrottleTarget,
24 params: ThrottleCommandArgs,
25) -> anyhow::Result<()> {
26 let meta_client = context.meta_client().await?;
27 let throttle_type = match params.throttle_type {
28 ThrottleTypeArg::Dml => PbThrottleType::Dml,
29 ThrottleTypeArg::Backfill => PbThrottleType::Backfill,
30 ThrottleTypeArg::Source => PbThrottleType::Source,
31 ThrottleTypeArg::Sink => PbThrottleType::Sink,
32 };
33
34 meta_client
35 .apply_throttle(kind, throttle_type, params.id, params.rate)
36 .await?;
37 Ok(())
38}