aynı parametrelerle görevlerde Oranı limiti, fakat sadece giriş parametreleri farklı olduğunda, yani:Kereviz: Bir işlev çağrıldığında kısıtlamak için bir yol arıyorum
@app.task(rate_limit="60/s")
def api_call(user):
do_the_api_call()
for i in range(0,100):
api_call("antoine")
api_call("oscar")
yüzden istiyorum api_call("antoine")
hem de ikinci başına 60 kez ve ikinci başına api_call("oscar")
60 kez çağrılacak.
Bunu yapabilirim nasıl Herhangi bir yardım?
--EDIT 27/04/2015 Bir görev içinde rate_limit ile bir alt görevi çağırmayı denedim, ancak şu ya çalışmıyor: Rate_limit her zaman, tüm örneklenen alt görevler ya da görevler için geçerlidir (mantıksal olan).
@app.task(rate_limit="60/s")
def sub_api_call(user):
do_the_api_call()
@app.task
def api_call(user):
sub_api_call(user)
for i in range(0,100):
api_call("antoine")
api_call("oscar")
Best!
sadece app.task @ yöntemine (rate_limit = 60) dekoratör kullanamaz mıyız? – reptilicus
Peki sanırım her ikisi de api_call ("antoine") ve api_call ("Oscar") @ 30/s'yi kısıtlayacağından ve sınırlamanın parametreye göre ve işlev başına uygulanmasını istiyorum. – antoinet
Düzeltme, kısıtlamanın yalnızca işlev başına değil, her parametre için de uygulanmasını istiyorum. – antoinet