怎么在python爬虫中利用celery调取文件

本篇文章给大家分享的是有关怎么在python爬虫中利用celery调取文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

除了通过```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.

以上就是怎么在python爬虫中利用celery调取文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。