xf.li | 6c8fc1e | 2023-08-12 00:11:09 -0700 | [diff] [blame] | 1 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. |
| 2 | SPDX-License-Identifier: curl |
| 3 | Long: rate |
| 4 | Arg: <max request rate> |
| 5 | Help: Request rate for serial transfers |
| 6 | Category: connection |
| 7 | Example: --rate 2/s $URL |
| 8 | Example: --rate 3/h $URL |
| 9 | Example: --rate 14/m $URL |
| 10 | Added: 7.84.0 |
| 11 | See-also: limit-rate retry-delay |
| 12 | Multi: single |
| 13 | --- |
| 14 | Specify the maximum transfer frequency you allow curl to use - in number of |
| 15 | transfer starts per time unit (sometimes called request rate). Without this |
| 16 | option, curl will start the next transfer as fast as possible. |
| 17 | |
| 18 | If given several URLs and a transfer completes faster than the allowed rate, |
| 19 | curl will wait until the next transfer is started to maintain the requested |
| 20 | rate. This option has no effect when --parallel is used. |
| 21 | |
| 22 | The request rate is provided as "N/U" where N is an integer number and U is a |
| 23 | time unit. Supported units are 's' (second), 'm' (minute), 'h' (hour) and 'd' |
| 24 | /(day, as in a 24 hour unit). The default time unit, if no "/U" is provided, |
| 25 | is number of transfers per hour. |
| 26 | |
| 27 | If curl is told to allow 10 requests per minute, it will not start the next |
| 28 | request until 6 seconds have elapsed since the previous transfer was started. |
| 29 | |
| 30 | This function uses millisecond resolution. If the allowed frequency is set |
| 31 | more than 1000 per second, it will instead run unrestricted. |
| 32 | |
| 33 | When retrying transfers, enabled with --retry, the separate retry delay logic |
| 34 | is used and not this setting. |