Skip to content

Commit 3108880

Browse files
committed
爬虫支持重复启动
1 parent 7495405 commit 3108880

3 files changed

Lines changed: 4 additions & 23 deletions

File tree

feapder/buffer/item_buffer.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,7 @@
2727
MYSQL_PIPELINE_PATH = "feapder.pipelines.mysql_pipeline.MysqlPipeline"
2828

2929

30-
class Singleton(object):
31-
def __new__(cls, *args, **kwargs):
32-
if not hasattr(cls, "_inst"):
33-
cls._inst = super(Singleton, cls).__new__(cls)
34-
35-
return cls._inst
36-
37-
38-
class ItemBuffer(threading.Thread, Singleton):
30+
class ItemBuffer(threading.Thread):
3931
dedup = None
4032
__redis_db = None
4133

feapder/buffer/request_buffer.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,13 @@
1414
import feapder.setting as setting
1515
import feapder.utils.tools as tools
1616
from feapder.db.redisdb import RedisDB
17-
from feapder.utils.log import log
1817
from feapder.dedup import Dedup
18+
from feapder.utils.log import log
1919

2020
MAX_URL_COUNT = 1000 # 缓存中最大request数
2121

2222

23-
class Singleton(object):
24-
def __new__(cls, *args, **kwargs):
25-
if not hasattr(cls, "_inst"):
26-
cls._inst = super(Singleton, cls).__new__(cls)
27-
28-
return cls._inst
29-
30-
31-
class RequestBuffer(threading.Thread, Singleton):
23+
class RequestBuffer(threading.Thread):
3224
dedup = None
3325

3426
def __init__(self, redis_key):

feapder/core/spiders/batch_spider.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import feapder.setting as setting
1818
import feapder.utils.tools as tools
1919
from feapder.buffer.item_buffer import MAX_ITEM_COUNT
20-
from feapder.buffer.request_buffer import RequestBuffer
2120
from feapder.core.base_parser import BatchParser
2221
from feapder.core.scheduler import Scheduler
2322
from feapder.db.mysqldb import MysqlDB
@@ -118,8 +117,6 @@ def __init__(
118117
self._redisdb = RedisDB()
119118
self._mysqldb = MysqlDB()
120119

121-
self._request_buffer = RequestBuffer(self._redis_key)
122-
123120
self._task_table = task_table # mysql中的任务表
124121
self._batch_record_table = batch_record_table # mysql 中的批次记录表
125122
self._batch_name = batch_name # 批次采集程序名称
@@ -1072,7 +1069,7 @@ def __init__(
10721069
save_to_db=False,
10731070
update_stask=False,
10741071
*args,
1075-
**kwargs
1072+
**kwargs,
10761073
):
10771074
"""
10781075
@param task_id: 任务id

0 commit comments

Comments
 (0)