diff --git a/SpiderKeeper/app/proxy/contrib/scrapy.py b/SpiderKeeper/app/proxy/contrib/scrapy.py index 9acad39e..9aca2948 100644 --- a/SpiderKeeper/app/proxy/contrib/scrapy.py +++ b/SpiderKeeper/app/proxy/contrib/scrapy.py @@ -67,7 +67,12 @@ def start_spider(self, project_name, spider_name, arguments): post_data = dict(project=project_name, spider=spider_name) post_data.update(arguments) data = request("post", self._scrapyd_url() + "/schedule.json", data=post_data, return_type="json") - return data['jobid'] if data and data['status'] == 'ok' else None + if data and data['status'] == 'ok': + return data['jobid'] + else: + import time + time.sleep(3) + return self.start_spider(project_name, spider_name, arguments) def cancel_spider(self, project_name, job_id): post_data = dict(project=project_name, job=job_id)