CodeGeeX配置周期性的Celery任务调度【任务调度】
需通过Celery Beat配置周期性任务调度,包括配置Redis为Broker与Backend、定义CodeGeeX预热与健康检查任务、启动Beat与Worker协同运行、用crontab精确控制执行时间,并验证任务注册与触发。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜
如果您希望在Django项目中让CodeGeeX模型定期执行代码生成、健康检查或预热加载等操作,则需通过Celery Beat配置周期性任务调度。以下是实现此目标的步骤:
一、配置Celery Beat并启用Redis作为Broker与Backend
该方法确保调度器能可靠地将定时任务推入队列,并由Worker持续拉取执行,避免因进程重启导致任务丢失。
1、确认Redis服务已在本地或远程运行,端口为6379,数据库索引未被其他服务占用。
2、在Django项目的settings.py中添加以下配置:
CELERY_BROKER_URL = 'redis://127.0.0.1:6379/0'
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/1'
CELERY_TIMEZONE = 'Asia/Shanghai'
CELERY_ENABLE_UTC = False
3、在项目根目录(与manage.py同级)创建celeryconfig.py文件,写入周期性任务定义:
from celery.schedules import crontab
CELERY_BEAT_SCHEDULE = {
'codigeeex-warmup-hourly': {
'task': 'myapp.tasks.warmup_codigeeex_model',
'schedule': 3600.0,
'args': ()
},
'codigeeex-healthcheck-daily': {
'task': 'myapp.tasks.check_codigeeex_health',
'schedule': crontab(hour=2, minute=0),
'args': ()
}
}
二、定义可被周期调度的CodeGeeX相关任务
该方法将模型加载、轻量推理或状态校验逻辑封装为独立Celery任务,确保其可被Beat按计划触发,且不依赖HTTP请求上下文。
1、在应用目录(如myapp/tasks.py)中定义两个任务函数:
from celery import shared_task
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import torch
@shared_task
def warmup_codigeeex_model():
model = AutoModelForSeq2SeqLM.from_pretrained("THUDM/codegeex-4b", low_cpu_mem_usage=True)
tokenizer = AutoTokenizer.from_pretrained("THUDM/codegeex-4b")
inputs = tokenizer("def hello():", return_tensors="pt")
with torch.no_grad(): model.generate(**inputs, max_length=64, do_sample=False)
return "CodeGeeX model warmed up successfully"
@shared_task
def check_codigeeex_health():
try:
音剪
喜马拉雅旗下的一站式AI音频创作平台,强大的在线剪辑能力,帮你轻松创作优秀的音频作品
下载
from myapp.utils import is_codigeeex_ready
return {"status": "healthy" if is_codigeeex_ready() else "unavailable"}
except Exception as e:
return {"status": "error", "message": str(e)}
三、启动Celery Beat与Worker协同运行
该方法确保调度器与执行单元分离部署,满足生产环境高可用要求,同时避免单进程阻塞导致定时任务失效。
1、在终端中启动Celery Worker,指定任务模块并启用日志:
celery -A myproject worker -l info
2、另启一个终端,启动Celery Beat进程,显式指向配置模块:
celery -A myproject beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
3、若使用django_celery_beat扩展(推荐用于动态管理周期任务),需先执行迁移并安装:
pip install django-celery-beat
python manage.py migrate django_celery_beat
python manage.py createsuperuser
4、登录Django Admin,在Periodic Tasks中手动添加warmup_codigeeex_model任务,设置Interval为“every 1 hour”。
四、使用crontab语法精确控制每日执行时间点
该方法适用于需要严格对齐业务低峰期(如凌晨2点系统维护窗口)执行模型健康检查的场景,避免资源争抢。
1、修改celeryconfig.py中CELERY_BEAT_SCHEDULE条目,替换为:
'codigeeex-daily-prefetch': {
'task': 'myapp.tasks.prefetch_codigeeex_examples',
'schedule': crontab(hour=3, minute=15, day_of_week='mon,tue,wed,thu,fri'),
'args': ('fibonacci',)
}
2、在myapp/tasks.py中新增对应任务:
@shared_task
def prefetch_codigeeex_examples(topic: str):
prompt = f"Write a Python function to calculate {topic}:"
# 调用已封装的CodeGeeX生成逻辑(非阻塞方式)
result = generate_code_with_codigeeex(prompt)
return {"prompt": prompt, "generated": result[:200]}
五、验证周期任务是否成功注册并触发
该方法通过命令行工具直接探查调度器状态与任务分发记录,无需等待实际执行时间点,提升调试效率。
1、执行以下命令查看当前活跃的Beat调度器是否识别到配置:
celery -A myproject inspect scheduled
2、检查Worker是否已订阅对应队列:
celery -A myproject inspect active_queues
3、手动触发一次任务以验证执行路径无异常:
from myapp.tasks import warmup_codigeeex_model; warmup_codigeeex_model.apply()
4、观察Worker终端输出是否包含"CodeGeeX model warmed up successfully"字样及时间戳。
如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!
猜您喜欢
遗忘之海配置要求一览
2026-07-11《遗忘之海》是由网易游戏旗下Joker工作室研发的海洋奇遇开放世界RPG游戏。就在最近游戏也终于要上线,那么有不少小伙伴好奇遗忘之海需要什么配置,下面就来告诉大家。 遗忘之海配置要求一览 一、PC配置详情-台式机 最低配置 1、CPU:i7-7700k/Ryzen51600 2、显卡:GTX1060(6G)/RX480(8G) 3、内存:16GB 4、硬盘:推荐使用固态硬盘安装游戏,并预留100G...
失控进化配置要求
2026-07-11失控进化在7月9日已经正式的上线了,今天给大家带来了这款游戏的一个配置要求,还有小伙伴不清楚什么配置可以去游玩,那么下面就是相关的内容. 失控进化配置要求 各平台配置如下: 本文内容来源于互联网,如有侵权请联系删除。
《绍宋:还我河山》游戏配置要求介绍
2026-07-09这是一款沉浸式真人互动历史权谋影视游戏!你将化身赵玖,魂穿南宋最具争议的皇帝赵构,每次抉择都将左右王朝气运、定夺天下兴亡!面对靖康之变后的山河破碎,你能否打破宿命再造山河?真人互动影视游戏《绍宋:还我河山》邀你于乱世绝境之中,一起喊出宋可亡,天下不可亡的怒吼!绍宋:还我河山需要什么配置最低配置:操作系统:Windows10/Windows11处理器:IntelCorei3或AMDequivalen...
《神貌之树逆卡巴拉》游戏配置要求介绍
2026-07-03本作以突如其来的灾害“世界崩落”后的东京为舞台。玩家将在流动的时间中发动技能,对敌人进行反击,是一款战术反击时间线RPG游戏。神貌之树逆卡巴拉需要什么配置最低配置:操作系统:Windows11处理器:IntelCorei5-2300/AMDRyzen31200内存:4GBRAM显卡:NVIDIAGeForceGTX750Ti/AMDRadeonR7360DirectX版本:12存储空间:需要8GB...
《超级变色龙》游戏配置要求介绍
2026-07-03把自己涂满颜色,融入背景吧!《MecchaChameleon》是一款全新感觉的捉迷藏游戏,玩家需要在自己纯白的身体上绘图以拟态成关卡中的样子。躲藏地点、姿势,以及最重要的“画功”是生存的关键。用连变色龙都自愧不如的技术欺骗追捕者的眼睛,在时限内逃出生天吧!您还可以轻松享受随机匹配或观众参与型直播。超级变色龙需要什么配置最低配置:操作系统:Windows1064-bit.处理器:IntelCorei...
《喵咪争霸》游戏配置要求介绍
2026-07-03《喵咪争霸》是一款可爱画风的即时战斗休闲卡牌游戏。能力各异、萌态万千的猫咪卡牌,每一张都可能是破局的关键。研究不同的卡组与道具搭配,突破重重关卡,成为这片大陆的最强大佬吧!喵咪争霸需要什么配置最低配置:操作系统*:Windows7SP1+(64-bit)处理器:IntelCore2DuoE8400或AMDAthlon64X26000+内存:4GBRAM显卡:IntelHDGraphics4000或...
《小闹花园》游戏配置要求介绍
2026-07-03《小闹花园》是一款在桌面挂机养花的游戏。你可以随缘地为种子浇水、施肥,随缘地收一收可爱的花朵和果实,最后爽爽地杀一杀讨厌的虫子,放心,它们不会弄脏你的桌面!小闹花园需要什么配置最低配置:操作系统:Windows10ornewer处理器:IntelCorei3orequivalent内存:4GBRAM显卡:IntegratedGPUwithOpenGL3.2/DirectX10support存储空间...
《枪 奶酪 外星人》游戏配置要求介绍
2026-07-03一款融合了基地建造与塔防的快节奏肉鸽射击游戏。你将和招募的强力打手们组成绞肉机防线,将满屏弹幕倾泻在如潮水涌来的外星怪物脸上!疯狂升级你的角色、购置稀有武器,在不同的战场直面各种奇怪外星Boss。另外,保护好你的队友们!枪奶酪外星人需要什么配置最低配置:操作系统:Windows10(64-bit)处理器:DualCore2.0GHz内存:2GBRAM显卡:ObsługaOpenGL3.3/1GBV...
《幻鸟之森》游戏配置要求介绍
2026-07-03《幻鸟之森》是一款陪伴你工作、学习和休息的桌面放置养成游戏。你可以在屏幕一侧观察、照料并引导神秘小鸟成长,看它们从雏鸟逐渐进化为幻想中的奇妙生物。无需频繁切换窗口,也能在日常间隙收获一份轻松与陪伴~幻鸟之森需要什么配置最低配置:操作系统:Windows10处理器:Inteli3DualCore内存:4GBRAM显卡:IntelHD3000DirectX版本:11存储空间:需要500MB可用空间 本...
Fitten Code如何配置快捷键
2026-06-28在VSCode中为FittenCode配置快捷键需编辑keybindings.json,严格按JSON格式添加command为"fitten-code.editCode"的对象,并确保光标在编辑器内才能生效。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 在VSCode中为FittenCode配置快捷键,是为了绕过鼠标操作、直接用键盘触发AI功能,比...
