Могу ли я передать динамическое значение декоратору в Python?Python

Программы на Python
Ответить
Anonymous
 Могу ли я передать динамическое значение декоратору в Python?

Сообщение Anonymous »

Я немного новичок в Python и его концепциях. Для моего текущего проекта мне нужно выполнить определенные вызовы API со скоростью x/y минут.
Что касается этого, я наткнулся на концепцию декоратора и библиотеку Python для того же самого.
Он называетсяratelimit, и нажмите здесь, чтобы перейти к ссылке на github.

Простейший пример этого API:

Код: Выделить всё

from ratelimit import rate_limited
import requests

MESSAGES=100
SECONDS= 3600

@rate_limited(MESSAGES, SECONDS)
def call_api(url):
response = requests.get(url)

if response.status_code != 200:
raise ApiError('Cannot call API: {}'.format(response.status_code))
return response
Но мне нужно вызвать эту функцию call_api из другой функции

Код: Выделить всё

def send_message():
global MESSAGES
global SECONDS
MESSAGES=10
SECONDS=5
end_time=time.time()+60 #the end time is 60 seconds from the start time
while(time.time()

Подробнее здесь: [url]https://stackoverflow.com/questions/49259663/can-i-pass-a-dynamic-value-to-a-decorator-in-python[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»