我有+20 scrapy crawlers
我想deploy
从浏览器手动webpage
。为了实现这一点,我创建了一个twisted server
在 shell 进程中执行以下命令的简单程序:
scrapyd-deploy default -p $project
curl http://127.0.0.1:6800/schedule.json -d project=$project -d spider=$spider
这些命令在twisted
using中执行utils.getProcessOutput(scriptname)
。前面的两个命令script
作为参数在给定的内部。
尝试使用 执行扭曲服务器时twistd -y <server.py>
,会出现以下错误:[Failure instance: Traceback (failure with no frames): : got stderr: 'Packing version 1399464111\n'
]
.
这是twisted
服务器的代码:
#/usr/bin/python
from twisted.internet import utils, reactor
from twisted.web import server, resource
from twisted.application import internet, service
class CrawlerResource(resource.Resource):
isLeaf = True
script = "./script2.sh"
def render_GET(self, request):
request.write("<pre>\n")
deferred = utils.getProcessOutput(self.script)
deferred.addCallback(lambda s: (request.write(s+"success!\n"), request.finish()))
deferred.addErrback(lambda s: (request.write(str(s)), request.finish()))
return server.NOT_DONE_YET
# factory: create a protocol for each connection
resource = CrawlerResource()
factory = server.Site(resource)
# application & service: run server in the background as a service
application = service.Application("Crawlers deployer")
service = internet.TCPServer(8000, factory)
service.setServiceParent(application)
是什么导致了这个错误(它不是很冗长)?