django-celery应用-定时执行测试cases

1、celery周期性任务
简介-----celery beat 是一个调度程序,它定期启动任务,然后由集群中的可用工作节点执行这些任务。
django-celery-beat
celery默认的调度程序是 celery.beat.PersistentScheduler ,它简单地跟踪本地 shelve 数据库文件中的最后一
次运行时间。 Django-celery-beat 扩展,它将时间表存储在Django数据库中,并提供了一个方便的管理界面来在运
行时管理周期性任务。
2、步骤

celery -A apiauto beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler

celery -A apiauto beat -l info --scheduler
django_celery_beat.schedulers:DatabaseScheduler
在这里插入图片描述
@shared_task
def run_task(pk=None, task_id=None, env_id=None, version=None, **kwargs):
if pk is None:
# 说明是定时执行
test_record = TestRecord.objects.create(
task_id=task_id,
environment_id=env_id,
version=version,
arguments=kwargs,
runner=‘定时执行’
)
# 创建测试报告
Report.objects.create(record=test_record, status=2)
else:
# 异步执行
# 1. 拿到测试记录
test_record = TestRecord.objects.get(pk=pk)

重启worker和beat:
celery -A apiauto worker -l info -P eventlet
celery -A apiauto beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
找到接口,在admin后台添加测试定时任务
在这里插入图片描述
添加相应的接口配置,即可执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值