使用scheduler.add_job(test_4a, 'cron', hour='8, 20', minute=new_date)随机分钟执行每次都是29分执行
时间: 2023-11-26 12:03:34 浏览: 47
如果你想让 `scheduler.add_job` 在指定的小时(8 和 20)随机的分钟执行,可以使用 `randint` 函数来生成一个随机的分钟数,并将这个分钟数作为参数传递给 `scheduler.add_job` 函数。下面是一段示例代码:
```python
from apscheduler.schedulers.blocking import BlockingScheduler
import random
def test_4a():
print('任务执行')
scheduler = BlockingScheduler()
# 生成一个随机的分钟数
new_date = random.randint(0, 59)
# 在每天的 8:xx 和 20:xx 执行任务
scheduler.add_job(test_4a, 'cron', hour='8, 20', minute=str(new_date))
scheduler.start()
```
在上面的代码中,`random.randint(0, 59)` 会生成一个 0 到 59 之间的随机整数,然后将这个整数转换成字符串类型,并作为 `scheduler.add_job` 函数的 `minute` 参数传递进去。这样就可以实现在每天的 8:xx 和 20:xx 执行任务,并且每次执行的分钟数都是随机的了。
相关问题
scheduler.add_job(redis_clean, 'cron', day='*', hour='0', minute='10')
这是一个定时任务的设置,使用了Python的APScheduler库。其中,redis_clean是需要定时执行的函数,'cron'表示使用cron表达式来设置任务执行时间,day='*'表示每天都执行,hour='0'表示在0点,minute='10'表示在10分执行。也就是说,这个任务会在每天的0点10分执行redis_clean函数。
怎么使用scheduler.add_job()创建一个每周五执行的任务
要创建一个每周五执行的作业,可以使用以下代码:
```python
from apscheduler.schedulers.background import BlockingScheduler
def job():
print('Job executed!')
scheduler = BlockingScheduler()
scheduler.add_job(job, 'cron', day_of_week='fri', hour=9)
scheduler.start()
```
在这个例子中,我们调用了`scheduler.add_job()`方法来创建作业。第一个参数是要执行的函数,第二个参数是触发器类型,这里使用`'cron'`表示使用`CronTrigger`触发器。接下来的参数是传递给触发器的参数,我们把`day_of_week`设置为`'fri'`,表示每周五执行,将`hour`设置为`9`,表示在每天的9点执行作业。
需要注意的是,如果要使用`CronTrigger`触发器,需要安装`APScheduler`的`cron`组件,可以使用以下命令安装:
```
pip install apscheduler[cron]
```
安装完成之后,就可以使用`CronTrigger`触发器了。