栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

celery如何在python爬虫中调用文件?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

celery如何在python爬虫中调用文件?

我们在python中学习了不少调用文件的方法,小伙伴们有觉得哪种方法更适合更多人使用呢?最近小编在学习celery框架的时候,发现其也可以进行调用文件的操作,不得不说是一个意外的惊喜。相信很多小伙伴同样对celery调用文件的方法感兴趣,接下来我们在python爬虫一起学习下吧。


除了通过```import```然后```add.delay()```这种方式,我们还可以通过```send_task()```这种方式,我们在项目根目录另外新建一个py文件叫做 `excute_tasks.py`,在其中写下如下的代码

from tasks import add
 
if __name__ == '__main__':
add.delay(5, 10)


这时候可以在celery的worker界面看到执行的结果

[2017-05-19 14:25:48,039: INFO/MainProcess] Received task: tasks.add[f5ed0d5e-a337-45a2-a6b3-38a58efd9760]
 
[2017-05-19 14:25:48,074: INFO/MainProcess] Task tasks.add[f5ed0d5e-a337-45a2-a6b3-38a58efd9760] succeeded in 0.03369094600020617s: 15


此外,我们还可以通过```send_task()```来调用,将```excute_tasks.py```改成这样

from tasks import app
if __name__ == '__main__':
app.send_task('tasks.add', args=(10, 15),)


这种方式也是可以的。`send_task()`还可能接收到为注册(即通过`@app.task`装饰)的任务,这个时候worker会忽略这个消息

[2017-05-19 14:34:15,352: ERROR/MainProcess] Received unregistered task of type 'tasks.adds'.
 
The message has been ignored and discarded.


本篇celery框架调用文件的方法还是主要依托于不同的函数,在函数用法的学习上相信各位小伙伴已经学了很多,这里小编就不额外叙述了。更多Python学习指路:PyThon学习网教学中心。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/11662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号