mirror of
https://github.com/scrapy/scrapy.git
synced 2025-02-23 18:44:05 +00:00
Add listjobs.json to Scrapyd API
You can use listjobs.json with project=<projectname> to get a list of projects that are running currently. It returns a list of jobs with spidername and job-id. Signed-off-by: Jochen Maes <jochen.maes@sejo.be> --- scrapyd/webservice.py | 9 +++++++++ scrapyd/website.py | 1 + 2 files changed, 10 insertions(+), 0 deletions(-)
This commit is contained in:
parent
99033d91c3
commit
47a7f154ab
@ -87,3 +87,12 @@ class DeleteVersion(DeleteProject):
|
|||||||
self._delete_version(project, version)
|
self._delete_version(project, version)
|
||||||
return {"status": "ok"}
|
return {"status": "ok"}
|
||||||
|
|
||||||
|
class ListJobs(WsResource):
|
||||||
|
def render_POST(self, txrequest):
|
||||||
|
project = txrequest.args['project'][0]
|
||||||
|
spiders = self.root.launcher.processes.values()
|
||||||
|
jlist = list()
|
||||||
|
for s in spiders:
|
||||||
|
if project == s.project:
|
||||||
|
jlist.append({"job": {"id":s.job, "spider": s.spider}})
|
||||||
|
return {"status":"ok", "jobs": jlist}
|
||||||
|
@ -22,6 +22,7 @@ class Root(resource.Resource):
|
|||||||
self.putChild('listspiders.json', webservice.ListSpiders(self))
|
self.putChild('listspiders.json', webservice.ListSpiders(self))
|
||||||
self.putChild('delproject.json', webservice.DeleteProject(self))
|
self.putChild('delproject.json', webservice.DeleteProject(self))
|
||||||
self.putChild('delversion.json', webservice.DeleteVersion(self))
|
self.putChild('delversion.json', webservice.DeleteVersion(self))
|
||||||
|
self.putChild('listjobs.json', webservice.ListJobs(self))
|
||||||
self.putChild('logs', static.File(logsdir, 'text/plain'))
|
self.putChild('logs', static.File(logsdir, 'text/plain'))
|
||||||
self.putChild('procmon', ProcessMonitor(self))
|
self.putChild('procmon', ProcessMonitor(self))
|
||||||
self.update_projects()
|
self.update_projects()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user