定期和重复作业在重复时是否保留相同的作业 ID?Redis RQ-Scheduler



假设我有一个计划每3小时运行一次的作业。

job = scheduler.schedule(
scheduled_time=datetime.utcnow(),
func=func,
interval=10800,
repeat=None
)
jobID = job.id

在第五次运行时,它会和第一次添加到调度程序时具有相同的作业ID吗?还是会更改?

简而言之:不会。事实上,您会注意到,即使您的作业具有相同的日期-时间对象(高达微秒级别(,它仍然会抛出不同的作业ID。

以下是我的实施和经验:

def test():
print("HELLO")
today=datetime.datetime.today()
today=today.replace(hour=10,minute=15,second=0,microsecond=0)
s1=Scheduler(connection=Redis())

print(today)
s1.schedule(scheduled_time=today,func=test,args=[],interval=10,repeat=None)
jobs1=s1.get_jobs()
for job in jobs1:
#s1.cancel(job)
print("first",job,job.id)

这是输出:

2022-01-15 10:15:00
first <Job 3a7321d9-8703-4ee4-879c-b0e9f8bdfabe: __main__.test()> 3a7321d9-8703-4ee4-879c-b0e9f8bdfabe
first <Job 59a2cafe-e784-401e-9dcf-deb2da59b20a: __main__.test()> 59a2cafe-e784-401e-9dcf-deb2da59b20a
first <Job eccdf669-1b5d-4a42-aa72-23fa8b09e4bb: __main__.test()> eccdf669-1b5d-4a42-aa72-23fa8b09e4bb

最新更新