celery实现任务统一收集、分发执行

代码中定义了3个handler,前两个负责在接收到相应的网页请求后,发起server1上定义的两个task function任务消息,消息发往,,最后由server1上的worker执行。网页请求的格式类似——:10501/do_catchup_jy/?hotplay_id=pxftest&start_dt=2015-08-12&end_dt=2015-08-14。第3个handler发起一个名为tasks.test1的任务消息,发往celery broker的另一个队列tasks.test1task function没有注册在server1上,所以使用send_task函数来发送任务消息;这是因为task_name.delay、task_name.apply_async函数发送任务请求需要先import task_name相应的python function,而send_task函数发送任务消息其实就相当于往celery broker发送一个字符串类似的任务请求、不需要调用事先写好的task function,然后该字符串类似的任务消息由worker获取、worker根据任务消息去寻找实际的task function来执行。这种机制也是celery实现任务统一收集、分发执行的基础。

生活不要太劳累,弄得自己很疲惫,快乐幸福多体会,

celery实现任务统一收集、分发执行

相关文章:

你感兴趣的文章:

标签云: