hunk.code_window:         self._last_job_result = None
           self._last_logs = None
           self.cluster_startup_timeout = 600
       def _run_job(
           self,
  
hunk.labels: keep keep add keep keep keep
hunk.after_edit:         self._duration = None
  
hunk.file_path: release/ray_release/job_manager/anyscale_job_manager.py
hunk.type: add
file: # flake8: noqa
  
  # __begin_starlette__
  import starlette.requests
  import requests
  from ray import serve
  
  
  @serve.deployment
  class Counter:
      def __call__(self, request: starlette.requests.Request):
          return request.query_params
  
  
  serve.run(Counter.bind())
  resp = requests.get("http://localhost:8000?a=b&c=d")
  assert resp.json() == {"a": "b", "c": "d"}
  # __end_starlette__
  
  # __begin_dagdriver__
  import numpy as np
  import requests
  from ray import serve
  from ray.serve.drivers import DAGDriver
  from ray.serve.http_adapters import json_to_ndarray
  
  
  @serve.deployment
  class Model:
      def __call__(self, arr: np.ndarray):
          return arr.sum()
  
  
  serve.run(DAGDriver.bind(Model.bind(), http_adapter=json_to_ndarray))
  resp = requests.post("http://localhost:8000", json={"array": [[1, 2], [2, 3]]})
  assert resp.json() == 8
  
  # __end_dagdriver__
  
  # __begin_fastapi__
  import ray
  import requests
  from fastapi import FastAPI
  from ray import serve
  
  app = FastAPI()
  
  
  @serve.deployment(route_prefix="/hello")
  @serve.ingress(app)
  class MyFastAPIDeployment:
      @app.get("/")
      def root(self):
          return "Hello, world!"
  
  
  serve.run(MyFastAPIDeployment.bind())
  resp = requests.get("http://localhost:8000/hello")
  assert resp.json() == "Hello, world!"
  # __end_fastapi__
  
  
  # __begin_fastapi_multi_routes__
  import ray
  import requests
  from fastapi import FastAPI
  from ray import serve
  
  app = FastAPI()
  
  
  @serve.deployment(route_prefix="/hello")
  @serve.ingress(app)
  class MyFastAPIDeployment:
      @app.get("/")
      def root(self):
          return "Hello, world!"
  
      @app.post("/{subpath}")
      def root(self, subpath: str):
          return f"Hello from {subpath}!"
  
  
  serve.run(MyFastAPIDeployment.bind())
  resp = requests.post("http://localhost:8000/hello/Serve")
  assert resp.json() == "Hello from Serve!"
  # __end_fastapi_multi_routes__
  
  # __begin_byo_fastapi__
  import ray
  import requests
  from fastapi import FastAPI
  from ray import serve
  
  app = FastAPI()
  
  
  @app.get("/")
  def f():
      return "Hello from the root!"
  
  
  @serve.deployment(route_prefix="/")
  @serve.ingress(app)
  class FastAPIWrapper:
      pass
  
  
  serve.run(FastAPIWrapper.bind())
  resp = requests.get("http://localhost:8000/")
  assert resp.json() == "Hello from the root!"
  # __end_byo_fastapi__
  