Index: chrome/common/extensions/docs/server2/handler.py |
diff --git a/chrome/common/extensions/docs/server2/handler.py b/chrome/common/extensions/docs/server2/handler.py |
index 8e5cae8a0d15a672b97674e8d9d5a6558864c87f..392b0f1a3bcc2d4fd6a315e14cd1388f4da94e9f 100644 |
--- a/chrome/common/extensions/docs/server2/handler.py |
+++ b/chrome/common/extensions/docs/server2/handler.py |
@@ -2,19 +2,31 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
+import time |
+ |
+from appengine_wrappers import taskqueue |
from cron_servlet import CronServlet |
from instance_servlet import InstanceServlet |
from patch_servlet import PatchServlet |
+from refresh_servlet import RefreshServlet |
from servlet import Servlet, Request, Response |
from test_servlet import TestServlet |
+ |
_DEFAULT_SERVLET = InstanceServlet.GetConstructor() |
+ |
+ |
+_FORCE_CRON_TARGET = 'force_cron' |
+ |
+ |
_SERVLETS = { |
'cron': CronServlet, |
'patch': PatchServlet, |
+ 'refresh': RefreshServlet, |
'test': TestServlet, |
} |
+ |
class Handler(Servlet): |
def Get(self): |
path = self._request.path |
@@ -24,6 +36,16 @@ class Handler(Servlet): |
if not '/' in servlet_path: |
servlet_path += '/' |
servlet_name, servlet_path = servlet_path.split('/', 1) |
+ if servlet_name == _FORCE_CRON_TARGET: |
+ queue = taskqueue.Queue() |
+ queue.purge() |
+ time.sleep(2) |
+ queue.add(taskqueue.Task(url='/_cron')) |
+ return Response.Ok('Cron job started.') |
+ if servlet_name == 'enqueue': |
+ queue = taskqueue.Queue() |
+ queue.add(taskqueue.Task(url='/%s'%servlet_path)) |
+ return Response.Ok('Task enqueued.') |
servlet = _SERVLETS.get(servlet_name) |
if servlet is None: |
return Response.NotFound('"%s" servlet not found' % servlet_path) |
@@ -31,5 +53,7 @@ class Handler(Servlet): |
servlet_path = path |
servlet = _DEFAULT_SERVLET |
- return servlet( |
- Request(servlet_path, self._request.host, self._request.headers)).Get() |
+ return servlet(Request(servlet_path, |
+ self._request.host, |
+ self._request.headers, |
+ self._request.arguments)).Get() |