77from pydantic import BaseModel
88from typing import Any
99
10+ {% if cookiecutter .use_taskiq % }
11+ from datetime import UTC , datetime , timedelta
12+ from src .services .taskiq import tasks
13+ from src .services .taskiq .scheduler import redis_source
14+ {% endif % }
15+
1016router = APIRouter (prefix = "/demo" )
1117
1218{% if cookiecutter .use_rabbitmq % }
@@ -17,10 +23,8 @@ class RabbitMQDemoMessage(BaseModel):
1723
1824{% if cookiecutter .use_redis % }
1925@router .post ("/set-redis" )
20- async def set_redis_value (key : str , value : str , redis : GetRedis ,) -> dict [ str , Any ] :
26+ async def set_redis_value (key : str , value : str , redis : GetRedis ,) -> None :
2127 await redis .set (key , value )
22- return {"message" : "Value set successfully" , "key" : key , "value" : value }
23-
2428
2529@router .get ("/get-redis" )
2630async def get_redis_value (key : str , redis : GetRedis ,) -> dict [str , Any ]:
@@ -35,11 +39,22 @@ async def get_redis_value(key: str, redis: GetRedis,) -> dict[str, Any]:
3539async def send_rabbitmq_message (
3640 message : RabbitMQDemoMessage ,
3741 rabbitmq : GetRabbitMQ ,
38- ) -> dict [ str , Any ] :
42+ ) -> None :
3943 await rabbitmq .send_demo_message (message )
40- return {
41- "message" : "RabbitMQ message sent successfully" ,
42- "key" : message .key ,
43- "value" : message .value ,
44- }
44+ {% endif % }
45+
46+ {% if cookiecutter .use_taskiq % }
47+ @router .post ("/taskiq-kiq" )
48+ async def kick_taskiq_message () -> None :
49+ await tasks .demo_task .kiq (hello = "hello taskiq" , world = "world taskiq" )
50+
51+
52+ @router .post ("/taskiq-scheduled" )
53+ async def schedule_taskiq_message (delay_seconds : int = 10 ) -> None :
54+ await tasks .demo_task .schedule_by_time (
55+ redis_source ,
56+ datetime .now (UTC ) + timedelta (seconds = delay_seconds ),
57+ hello = "hello taskiq scheduled" ,
58+ world = "world taskiq scheduled" ,
59+ )
4560{% endif % }
0 commit comments