Ошибка позиционного аргумента в задаче sheduling в python

Я получил ошибку позиционного аргумента, когда попытался запустить свой код, и do() передает дополнительные аргументы в функцию job посмотрите на код ниже

import schedule
from schedule import Scheduler
import threading
import warnings
import time

def paystack_webhookS (request):
    user = request.user
    remail = payload.customer.email
    rfirst_name = payload.customer.first_name
    amount = payload.data.amount

    first_name = user.first_name
    last_name = user.last_name
    email = user.email

    with transaction.atomic():
            account = Account.objects.select_for_update().get(email = remail)
            account.balance += amount
            asof = account.modified 
            account.save(update_fields=[
                    'balance',
                    'modified',
                    ])


    return HttpResponse(status=200)


schedule.every(10).seconds.do(paystack_webhookS)
schedule.every(10).minutes.do(paystack_webhookS)
schedule.every().hour.do(paystack_webhookS)

while True:
    schedule.run_pending()
    time.sleep(1)



i got this error

schedule.run_pending()

return view_func(*args, **kwargs)
TypeError: inner() missing 1 required positional argument: 'request'

Эта ошибка возникает при попытке выполнить while True: schedule.run_pending() time.sleep(1) пожалуйста, помогите мне исправить это, так как запрос очень важен в этом коде

Функция, которую вы передаете в график (вы назвали ее "paystack_webhookS"), должна быть определена без аргументов.

def paystack_webhookS():
    ...

В вашем коде не указано, откуда берется переменная "request". Но если она не глобальная, а уже определена при инициализации задач расписания, вы могли бы работать с функцией-оберткой, создающей вашу настоящую функцию расписания:

def createScheduleFunction(requestParameter):
    def __func():
        user = requestParameter.user
        ...
    return func

И затем:

schedule.every(10).seconds.do(createScheduleFunction(request))
Вернуться на верх