Я использую Django-rq
с функциональностью Scheduling
заданий с указанным интервалом.
https://github.com/rq/django-rq#support -for-rq-scheduler
task = scheduler.schedule(
scheduled_time=datetime.utcnow(), # Time for first execution, in UTC timezone
func=func, # Function to be queued
args=[arg1, arg2], # Arguments passed into function when executed
kwargs={'foo': 'bar'}, # Keyword arguments passed into function when executed
interval=60, # Time before the function is called again, in seconds
repeat=None, # Repeat this number of times (None means repeat forever)
meta={'foo': 'bar'} # Arbitrary pickleable data on the job itself
)
print(task.id) ### JOB ID
5eedcd69-a318-4195-959f-eb6a404dec97
- Теперь у нас есть JOB, который выполняется каждые 60 секунд и возвращает
JOB ID
для нашего планировщика. Все, что я хотел увидеть (количество раз / количество раз), задание было выполнено.
example:
checking job `queue.fetch_job('5eedcd69-a318-4195-959f-eb6a404dec97').count` should return `5` times after 5 minutes
- Есть ли способ достичь этого путем Django или RQ?