如何基于 Celery 做爬虫但遇到些坑,如重复执行了一个任务、 db 对象内数据有错误

2015-04-28 21:44:41 +08:00
 Feiox

因为要爬特定领域内的一些站点。每次存储过程需要反复和数据库进行信息增删。
现在我遇到三个问题:

  1. 出现重复执行的任务
  2. db 对象里有错误数据(而且都是固定的一个值)
  3. 明明不改有重复的数据却提示我主键重复,而且每次都是那固定几个。但去数据库中找,发现这些数据又已经存在

运行模式:celery -A celeryd worker -P eventlet -c 100 -l info
而且,并放量越多,错误越多。
broker 使用的是 Redis,数据库用的是 MariaDB。

3037 次点击
所在节点    Python
2 条回复
easynoder
2015-04-29 08:14:08 +08:00
ledzep2
2015-04-29 09:01:05 +08:00
如果有用Late Ack, 那任务没正常返回, 可能会有重复执行.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/187087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX