diff --git a/docs/news.rst b/docs/news.rst index 6879c863..3f6068bc 100644 --- a/docs/news.rst +++ b/docs/news.rst @@ -24,6 +24,7 @@ Changed Fixed ~~~~~ +- The :ref:`cancel.json` webservice now works on Windows. - When managing multiple projects, the next pending job for all but one project was unreported by the :ref:`daemonstatus.json` and :ref:`listjobs.json` webservices, and was not cancellable by the :ref:`cancel.json` webservice. 1.4.3 (2023-09-25) @@ -138,7 +139,7 @@ Fixed - Fix HTTP header types for newer Twisted versions. - ``DeferredQueue`` no longer hides a pending job when reaching ``max_proc``. -- ``AddVersion``'s arguments' string types no longer break Windows environments. +- The :ref:`addversion.json`` webservice now works on Windows. - test: Update binary eggs to be compatible with Scrapy 1.x. Removed diff --git a/scrapyd/webservice.py b/scrapyd/webservice.py index 70935d5e..86348116 100644 --- a/scrapyd/webservice.py +++ b/scrapyd/webservice.py @@ -1,3 +1,4 @@ +import sys import traceback import uuid from copy import copy @@ -69,7 +70,7 @@ def render_POST(self, txrequest): args = {k: v[0] for k, v in native_stringify_dict(copy(txrequest.args), keys_only=False).items()} project = args['project'] jobid = args['job'] - signal = args.get('signal', 'TERM') + signal = args.get('signal', 'INT' if sys.platform != 'win32' else 'BREAK') prevstate = None queue = self.root.poller.queues[project] c = queue.remove(lambda x: x["_job"] == jobid)