Sobes.tech

Python

Napisz dekorator timer, który mierzy i wyświetla czas wykonania funkcji; następnie zapewnij przekazywanie argumentów i zachowanie metadanych funkcji.

140

Czy musiałeś optymalizować zapytania SQL lub analizować wydajność? Jakie narzędzia używałeś? Co pokazuje EXPLAIN?

134

def wycofaj(user_id, kwota): użytkownik = User.objects.filter(user_id=user_id).update(balance=F('balance') - kwota) jeśli użytkownik.balance > kwota: # raise InsufficientFundsError() użytkownik.balance -= kwota użytkownik.save()

134

z transaction.atomic(): provider_order = ProviderOrder.objects.select_for_update().get(id=provider_order.id) unblock_provider_order(provider_order.id) notify_contractor(provider_order=provider_order)

122
/3