feat: 更新模块文档,添加详细说明和使用示例
This commit is contained in:
@@ -15,7 +15,7 @@ class TestCronParser:
|
||||
def test_parse_all_stars(self):
|
||||
"""测试全星号表达式"""
|
||||
result = CronParser.parse("* * * * *")
|
||||
|
||||
|
||||
assert len(result["minute"]) == 60
|
||||
assert len(result["hour"]) == 24
|
||||
assert len(result["day"]) == 31
|
||||
@@ -25,39 +25,39 @@ class TestCronParser:
|
||||
def test_parse_specific_values(self):
|
||||
"""测试具体值"""
|
||||
result = CronParser.parse("30 8 * * *")
|
||||
|
||||
|
||||
assert result["minute"] == {30}
|
||||
assert result["hour"] == {8}
|
||||
|
||||
def test_parse_range(self):
|
||||
"""测试范围"""
|
||||
result = CronParser.parse("0 9-17 * * *")
|
||||
|
||||
|
||||
assert result["hour"] == {9, 10, 11, 12, 13, 14, 15, 16, 17}
|
||||
|
||||
def test_parse_step(self):
|
||||
"""测试步进"""
|
||||
result = CronParser.parse("*/15 * * * *")
|
||||
|
||||
|
||||
assert result["minute"] == {0, 15, 30, 45}
|
||||
|
||||
def test_parse_list(self):
|
||||
"""测试列表"""
|
||||
result = CronParser.parse("0 8,12,18 * * *")
|
||||
|
||||
|
||||
assert result["hour"] == {8, 12, 18}
|
||||
|
||||
def test_parse_preset_daily(self):
|
||||
"""测试预定义表达式 @daily"""
|
||||
result = CronParser.parse("@daily")
|
||||
|
||||
|
||||
assert result["minute"] == {0}
|
||||
assert result["hour"] == {0}
|
||||
|
||||
def test_parse_preset_hourly(self):
|
||||
"""测试预定义表达式 @hourly"""
|
||||
result = CronParser.parse("@hourly")
|
||||
|
||||
|
||||
assert result["minute"] == {0}
|
||||
assert len(result["hour"]) == 24
|
||||
|
||||
@@ -73,7 +73,7 @@ class TestCronParser:
|
||||
"0 * * * *",
|
||||
after=datetime(2026, 1, 1, 10, 30)
|
||||
)
|
||||
|
||||
|
||||
assert next_run.minute == 0
|
||||
assert next_run.hour == 11
|
||||
|
||||
@@ -89,7 +89,7 @@ class TestCronJob:
|
||||
schedule="*/5 * * * *",
|
||||
task="测试",
|
||||
)
|
||||
|
||||
|
||||
assert job.id == "test-job"
|
||||
assert job.enabled is True
|
||||
assert job.last_status == JobStatus.PENDING
|
||||
@@ -113,7 +113,7 @@ class TestCronScheduler:
|
||||
schedule="*/5 * * * *",
|
||||
callback=task,
|
||||
)
|
||||
|
||||
|
||||
assert job.id == "test-1"
|
||||
assert job.next_run is not None
|
||||
|
||||
@@ -123,7 +123,7 @@ class TestCronScheduler:
|
||||
pass
|
||||
|
||||
self.scheduler.add_job("test-1", "测试", "* * * * *", task)
|
||||
|
||||
|
||||
assert self.scheduler.remove_job("test-1") is True
|
||||
assert self.scheduler.get_job("test-1") is None
|
||||
|
||||
@@ -133,12 +133,12 @@ class TestCronScheduler:
|
||||
pass
|
||||
|
||||
self.scheduler.add_job("test-1", "测试", "* * * * *", task)
|
||||
|
||||
|
||||
assert self.scheduler.disable_job("test-1") is True
|
||||
job = self.scheduler.get_job("test-1")
|
||||
assert job.enabled is False
|
||||
assert job.last_status == JobStatus.DISABLED
|
||||
|
||||
|
||||
assert self.scheduler.enable_job("test-1") is True
|
||||
assert job.enabled is True
|
||||
|
||||
@@ -149,7 +149,7 @@ class TestCronScheduler:
|
||||
|
||||
self.scheduler.add_job("test-1", "任务1", "* * * * *", task)
|
||||
self.scheduler.add_job("test-2", "任务2", "*/5 * * * *", task)
|
||||
|
||||
|
||||
jobs = self.scheduler.list_jobs()
|
||||
assert len(jobs) == 2
|
||||
|
||||
@@ -159,7 +159,7 @@ class TestCronScheduler:
|
||||
pass
|
||||
|
||||
self.scheduler.add_job("test-1", "任务1", "* * * * *", task)
|
||||
|
||||
|
||||
stats = self.scheduler.get_stats()
|
||||
assert stats["total_jobs"] == 1
|
||||
assert stats["enabled_jobs"] == 1
|
||||
|
||||
Reference in New Issue
Block a user