2016-05-17 9 views
1

Ich versuche zwei Scrapy Spinnen gleichzeitig mit Scrapyd zu betreiben. ich ausführenscrapyd - Fehler beim gleichzeitigen Ausführen von Spinnen

curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider 

Ergebnis - { "status": "ok", "jobid": "6487ec79947edab326d6db28a2d86511e8247444"} dann:

curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider2 

Ergebnis -

python2.7/site-packages/twisted/web/server.py", line 234, in render 
      body = resrc.render(self) 
     --- <exception caught here> 
     File "/usr/local/lib/python2.7/json/decoder.py", line 383, in raw_decode 
raise ValueError("No JSON object could be decoded") 
      exceptions.ValueError: No JSON object could be decoded 

und jedes Mal Ich laufe Curl für Scrapyd - ich bekomme das gleiche - Ausnahmen. ValueError: Kein JSON-Objekt konnte entschlüsselt werden. Die einzige Möglichkeit, um mit scrapyd fortzufahren - um es neu zu starten. Wie kann ich mehrere Spinnen mit Scrapyd betreiben? Warum bekomme ich diesen Fehler?


I scrapy 1.1, scrapyd 1.1, Python 2.7.9

+0

Vermutlich das Problem hinzufügen bezieht – Rainmaker

Antwort

0

Das Problem war in sqlite3 in meinem Centos6.5 installiert. Entscheidung: brauchen

self.conn.text_factory = bytes 

zu SqliteDict und SqlitePriorityQueue Klassen nach Verbindungserstellung in einem scrapyd/sqlite.py b/scrapyd/sqlite.py

0

Ihr Fehler nichts hat die scrapyd zu tun, wahrscheinlich der Fehler in Ihrer Spinne 'somespider2'. Stellen Sie nur sicher, dass Sie "somespider2" ordnungsgemäß über die Befehlszeile ausführen können.

+0

So Version Sqlite3 warum der gleiche Fehler tritt auf, wenn ich someSpider twise laufen? (Erstes Mal, dass scrapyd die Job-ID zurückgegeben hat) Noch mehr, ich erhalte den gleichen Fehler, wenn ich curl zweimal mit 'listspiders' params ausführe. (Das erste Mal scratid liefert das korrekte Ergebnis) – Rainmaker