Skip to content

Commit 0e6b876

Browse files
authored
fix: use interval to create ScheduledTask (#27)
2 parents 844d6b0 + 4c7786a commit 0e6b876

File tree

11 files changed

+685
-38
lines changed

11 files changed

+685
-38
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ repos:
1717
- id: check-toml
1818
- id: check-yaml
1919
- id: check-added-large-files
20+
exclude: uv.lock
2021
- id: end-of-file-fixer
2122

2223
- repo: https://github.com/crate-ci/typos

MANIFEST.in

Lines changed: 0 additions & 1 deletion
This file was deleted.

examples/example_with_schedule_source.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
"kwargs": {}, # type: dict[str, Any] | None, can be omitted.
4040
"labels": {}, # type: dict[str, Any] | None, can be omitted.
4141
},
42+
{
43+
"interval": 10, # type: int | timedelta | None
44+
},
4245
],
4346
)
4447
async def best_task_ever() -> None:

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "taskiq-postgres"
3-
version = "0.6.0"
3+
version = "0.6.1"
44
description = "PostgreSQL integration for taskiq"
55
summary = "PostgreSQL integration for taskiq"
66
readme = "README.md"
@@ -33,7 +33,7 @@ authors = [
3333
]
3434
requires-python = ">=3.10,<3.15"
3535
dependencies = [
36-
"taskiq>=0.11.18",
36+
"taskiq>=0.12.0",
3737
]
3838

3939
[project.urls]

src/taskiq_pg/_internal/schedule_source.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ def extract_scheduled_tasks_from_broker(self) -> list[ScheduledTask]:
8484
"schedule_id": str(uuid.uuid4()),
8585
"cron": schedule.get("cron", None),
8686
"cron_offset": schedule.get("cron_offset", None),
87+
"interval": schedule.get("interval", None),
8788
"time": schedule.get("time", None),
8889
},
8990
)

src/taskiq_pg/aiopg/schedule_source.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ async def get_schedules(self) -> list["ScheduledTask"]:
8181
"cron": schedule["cron"],
8282
"cron_offset": schedule["cron_offset"],
8383
"time": schedule["time"],
84+
"interval": schedule["interval"],
8485
},
8586
),
8687
)

src/taskiq_pg/asyncpg/schedule_source.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ async def get_schedules(self) -> list["ScheduledTask"]:
8080
"cron": schedule["cron"],
8181
"cron_offset": schedule["cron_offset"],
8282
"time": schedule["time"],
83+
"interval": schedule["interval"],
8384
},
8485
),
8586
)

src/taskiq_pg/psqlpy/schedule_source.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ async def get_schedules(self) -> list["ScheduledTask"]:
9191
"cron": schedule["cron"],
9292
"cron_offset": schedule["cron_offset"],
9393
"time": schedule["time"],
94+
"interval": schedule["interval"],
9495
},
9596
),
9697
)

src/taskiq_pg/psycopg/schedule_source.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ async def get_schedules(self) -> list["ScheduledTask"]:
8888
"cron": schedule["cron"],
8989
"cron_offset": schedule["cron_offset"],
9090
"time": schedule["time"],
91+
"interval": schedule["interval"],
9192
},
9293
),
9394
)

tests/integration/test_schedule_source.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ async def test_when_call_add_schedule__then_schedule_creates(
159159
schedule_source_class: type[PSQLPyScheduleSource | AiopgScheduleSource | AsyncpgScheduleSource],
160160
) -> None:
161161
# Given
162-
new_schedule = ScheduledTaskFactory.build(task_name="tests:added_schedule", cron="*/5 * * * *")
162+
new_schedule = ScheduledTaskFactory.build(task_name="tests:added_schedule", cron="*/5 * * * *", interval=None)
163163
async with _get_schedule_source(schedule_source_class, broker_with_scheduled_tasks, pg_dsn) as schedule_source:
164164
await schedule_source.startup()
165165

0 commit comments

Comments
 (0)