Issue 1:
First Check

I added a very descriptive title to this issue.

I used the GitHub search to find a similar issue and didn't find it.

I searched the FastAPI documentation, with the integrated search.

I already searched in Google "How to X in FastAPI" and didn't find any information.

I already read and followed all the tutorial in the docs and didn't find an answer.

I already checked if it is not related to FastAPI but to Pydantic.

I already checked if it is not related to FastAPI but to Swagger UI.

I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

I commit to help with one of those options 👆

Example Code

from fastapi import FastAPI, CronTasks

from time import sleep

app = FastAPI()

@app.on_event("startup")
async def startup_event():
await some_function()

async def some_function(cron_tasks: CronTasks):
cron_tasks.add_task(function = other_function, parameters = 'Some parameters', repeat_time = 216000) # Time in seconds; 24h = 216000

async def other_function(parameters):
print(parameters)
sleep(3)

Description

Call a cron tasks class in my controllers or events to set up repetitive actions.

Wanted Solution

When I launch my project with uvicorn I would like to have some cron tasks, like background tasks but repeated over time instead of in the background.

Wanted Code

I haven't thought about the solution yet, but I could do it if it is interesting for the community.

Alternatives

No response

Operating System

Linux

Operating System Details

No response

FastAPI Version

0.87.0

Python Version

3.10

Additional Context

No response

Issue 2:
First Check

I added a very descriptive title to this issue.

I used the GitHub search to find a similar issue and didn't find it.

I searched the FastAPI documentation, with the integrated search.

I already searched in Google "How to X in FastAPI" and didn't find any information.

I already read and followed all the tutorial in the docs and didn't find an answer.

I already checked if it is not related to FastAPI but to Pydantic.

I already checked if it is not related to FastAPI but to Swagger UI.

I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

I commit to help with one of those options 👆

Example Code

# main.py

import uvicorn
from fastapi import FastAPI, Form

app = FastAPI()

@app.post("/")
def hello(arg: tuple[int, int] = Form(...)) -> str:
pass

if __name__ == "__main__":
uvicorn.run("main:app", port=8080)

Description

Run pip install uvicorn fastapi==0.68.0.

Run python ./main.py

Hit localhost:8080/docs, observe internal server error with below validation errors:

pydantic.error_wrappers.ValidationError: 2 validation errors for OpenAPI
components -> schemas -> Body_hello__post -> properties -> arg -> items
value is not a valid dict (type=type_error.dict)
components -> schemas -> Body_hello__post -> $ref
field required (type=value_error.missing)

Run pip install fastapi==0.67.0

Hit localhost:8080/docs, observe that endpoint documentation is successfully generated.

Operating System

Linux

Operating System Details

Ubuntu 20.04

FastAPI Version

0.68.0 has bug, 0.67.0 does not have bug.

Python Version

3.9

Additional Context

Any use of tuple in an input (Form, and BaseModel as JSON) or output (BaseModel as JSON) results in above error.