This repository was archived by the owner on Jan 24, 2024. It is now read-only.
Description http://www.celeryproject.org/
teamcity上只支持3个免费agent。 如果将来需要测试若干种机型task, 需要加若干agent才能支持。
调研了celery 工具
流程
master监测到teamcity 上的queue 中有tasks,
执行相应的调度
@app .task
def V100 ():
#Run tasks on v100
return {"task_kpis" :"kpis_values" , "task_type" : "v100" }
@app .task
def P40 ():
#Run tasks on P40
return {"task_kpis" :"kpis_values" , "task_type" : "p40" }
if __name__ == "__main__" :
if "task name is startswith v100" :
re = V100 .delay ()
elif "task name is startswith p40" :
re = P40 .delay ()
print (re .result )
print (re .get (timeout = 2 ))
print (re .status )
每一个work机器上启动work 监控进程
比如v100 work上
@app .task
def V100 ():
#Run tasks on v100
return {"task_kpis" :"kpis_values" , "task_type" : "v100" }
celery -A download worker -l info -c 5
当master执行时, v100 worker上就会收到消息并执行V100函数
[2018-06-13 18:45:00,533: INFO/MainProcess] Received task: download.V100[03a74fb0-df6a-4ec0-b9cc-bc8e4870194e]
[2018-06-13 18:45:00,541: INFO/ForkPoolWorker-3] Task download.V100[03a74fb0-df6a-4ec0-b9cc-bc8e4870194e] succeeded in 0.00594224780798s: {' task_kpis' : ' kpis_values' }
master上可以拿到各个worker的返回
{u' task_type' : u' v100' , u' task_kpis' : u' kpis_values' }
celery存在的问题
多机时, 每个机器上都要有所有代码, master上并未执行真正逻辑, 依然需要注册该函数。
文档中对于多机使用不清晰,
我们ce中所有步骤都在docker中执行, 采用celery,所有命令都得加上docker run XX, 并且可能会踩坑
这样其实破坏了teamcity 本来的queue 队列和pool池子的 异步调用功能。考虑到优先维护好v100 和 p40 两个场景下tasks功能完备性, 目前agent 数目并不是瓶颈。
和春伟讨论决定继续按照加agent 方式进行, 以后有需要再用工具流
Reactions are currently unavailable
http://www.celeryproject.org/
teamcity上只支持3个免费agent。 如果将来需要测试若干种机型task, 需要加若干agent才能支持。
调研了celery 工具
流程
master监测到teamcity 上的queue 中有tasks,
执行相应的调度
每一个work机器上启动work 监控进程
比如v100 work上
当master执行时, v100 worker上就会收到消息并执行V100函数
master上可以拿到各个worker的返回
{u'task_type': u'v100', u'task_kpis': u'kpis_values'}celery存在的问题
多机时, 每个机器上都要有所有代码, master上并未执行真正逻辑, 依然需要注册该函数。
文档中对于多机使用不清晰,
我们ce中所有步骤都在docker中执行, 采用celery,所有命令都得加上docker run XX, 并且可能会踩坑
这样其实破坏了teamcity 本来的queue 队列和pool池子的 异步调用功能。考虑到优先维护好v100 和 p40 两个场景下tasks功能完备性, 目前agent 数目并不是瓶颈。
和春伟讨论决定继续按照加agent 方式进行, 以后有需要再用工具流