Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F7066544
D1025.id3279.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
D1025.id3279.diff
View Options
diff --git a/swh/scheduler/api/server.py b/swh/scheduler/api/server.py
--- a/swh/scheduler/api/server.py
+++ b/swh/scheduler/api/server.py
@@ -5,14 +5,17 @@
import logging
-from flask import request
+from flask import request, Flask
from swh.core import config
-from swh.scheduler import get_scheduler as get_scheduler_from
-from swh.core.api import (SWHServerAPIApp, decode_request,
+from swh.core.api import (decode_request,
error_handler,
encode_data_server as encode_data)
+from swh.core.api import negotiate, JSONFormatter, MsgpackFormatter
+from swh.scheduler import get_scheduler as get_scheduler_from
+
+
DEFAULT_CONFIG_PATH = 'backend/scheduler'
DEFAULT_CONFIG = {
'scheduler': ('dict', {
@@ -24,7 +27,7 @@
}
-app = SWHServerAPIApp(__name__)
+app = Flask(__name__)
scheduler = None
@@ -41,97 +44,129 @@
@app.route('/')
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def index():
return 'SWH Scheduler API server'
-@app.route('/close_connection', methods=['POST'])
+@app.route('/close_connection', methods=['GET', 'POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def close_connection():
- return encode_data(get_sched().close_connection())
+ return get_sched().close_connection()
@app.route('/set_status_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def set_status_tasks():
- return encode_data(get_sched().set_status_tasks(**decode_request(request)))
+ return get_sched().set_status_tasks(**decode_request(request))
@app.route('/create_task_type', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def create_task_type():
- return encode_data(get_sched().create_task_type(**decode_request(request)))
+ return get_sched().create_task_type(**decode_request(request))
@app.route('/get_task_type', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def get_task_type():
- return encode_data(get_sched().get_task_type(**decode_request(request)))
+ return get_sched().get_task_type(**decode_request(request))
-@app.route('/get_task_types', methods=['POST'])
+@app.route('/get_task_types', methods=['GET', 'POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def get_task_types():
- return encode_data(get_sched().get_task_types(**decode_request(request)))
+ return get_sched().get_task_types(**decode_request(request))
@app.route('/create_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def create_tasks():
- return encode_data(get_sched().create_tasks(**decode_request(request)))
+ return get_sched().create_tasks(**decode_request(request))
@app.route('/disable_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def disable_tasks():
- return encode_data(get_sched().disable_tasks(**decode_request(request)))
+ return get_sched().disable_tasks(**decode_request(request))
@app.route('/get_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def get_tasks():
- return encode_data(get_sched().get_tasks(**decode_request(request)))
+ return get_sched().get_tasks(**decode_request(request))
@app.route('/search_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def search_tasks():
- return encode_data(get_sched().search_tasks(**decode_request(request)))
+ return get_sched().search_tasks(**decode_request(request))
@app.route('/peek_ready_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def peek_ready_tasks():
- return encode_data(get_sched().peek_ready_tasks(**decode_request(request)))
+ return get_sched().peek_ready_tasks(**decode_request(request))
@app.route('/grab_ready_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def grab_ready_tasks():
- return encode_data(get_sched().grab_ready_tasks(**decode_request(request)))
+ return get_sched().grab_ready_tasks(**decode_request(request))
@app.route('/schedule_task_run', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def schedule_task_run():
- return encode_data(get_sched().schedule_task_run(
- **decode_request(request)))
+ return get_sched().schedule_task_run(**decode_request(request))
@app.route('/mass_schedule_task_runs', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def mass_schedule_task_runs():
- return encode_data(
- get_sched().mass_schedule_task_runs(**decode_request(request)))
+ return get_sched().mass_schedule_task_runs(**decode_request(request))
@app.route('/start_task_run', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def start_task_run():
- return encode_data(get_sched().start_task_run(**decode_request(request)))
+ return get_sched().start_task_run(**decode_request(request))
@app.route('/end_task_run', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def end_task_run():
- return encode_data(get_sched().end_task_run(**decode_request(request)))
+ return get_sched().end_task_run(**decode_request(request))
@app.route('/filter_task_to_archive', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def filter_task_to_archive():
- return encode_data(
- get_sched().filter_task_to_archive(**decode_request(request)))
+ return get_sched().filter_task_to_archive(**decode_request(request))
@app.route('/delete_archived_tasks', methods=['POST'])
+@negotiate(MsgpackFormatter)
+@negotiate(JSONFormatter)
def delete_archived_tasks():
- return encode_data(
- get_sched().delete_archived_tasks(**decode_request(request)))
+ return get_sched().delete_archived_tasks(**decode_request(request))
def run_from_webserver(environ, start_response,
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Nov 5 2024, 2:55 PM (12 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3220313
Attached To
D1025: Add support for content-negotiation in the API
Event Timeline
Log In to Comment