Control the scheduler behavior with the given parameters.
(request: ControlSchedulerRequest)
| 832 | |
| 833 | @controller_app.post("/controller/scheduler") |
| 834 | def control_scheduler(request: ControlSchedulerRequest): |
| 835 | """ |
| 836 | Control the scheduler behavior with the given parameters. |
| 837 | """ |
| 838 | |
| 839 | content = ErrorResponse(error=ErrorInfo(message="Scheduler updated successfully", code="0")) |
| 840 | |
| 841 | global llm_engine |
| 842 | if llm_engine is None: |
| 843 | content.message = "Engine is not loaded" |
| 844 | content.code = 500 |
| 845 | return JSONResponse(content=content.model_dump(), status_code=500) |
| 846 | |
| 847 | if request.reset: |
| 848 | llm_engine.engine.clear_data() |
| 849 | llm_engine.engine.scheduler.reset() |
| 850 | |
| 851 | if request.load_shards_num or request.reallocate_shard: |
| 852 | if hasattr(llm_engine.engine.scheduler, "update_config") and callable( |
| 853 | llm_engine.engine.scheduler.update_config |
| 854 | ): |
| 855 | llm_engine.engine.scheduler.update_config( |
| 856 | load_shards_num=request.load_shards_num, |
| 857 | reallocate=request.reallocate_shard, |
| 858 | ) |
| 859 | else: |
| 860 | content.message = "This scheduler doesn't support the `update_config()` method." |
| 861 | content.code = 400 |
| 862 | return JSONResponse(content=content.model_dump(), status_code=400) |
| 863 | |
| 864 | return JSONResponse(content=content.model_dump(), status_code=200) |
| 865 | |
| 866 | |
| 867 | def run_controller_server(): |
nothing calls this directly
no test coverage detected