Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 1 addition & 25 deletions crontask/__init__.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
"""Cron style scheduler for Django's task framework."""

import typing
import warnings
from unittest.mock import Mock

from apscheduler.schedulers.base import STATE_STOPPED
from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.triggers.base import BaseTrigger
from apscheduler.triggers.cron import CronTrigger
from apscheduler.triggers.interval import IntervalTrigger
from django.tasks import Task
from django.utils import timezone

from . import _version
from .contrib import sentry

__all__ = ["cron", "interval", "scheduler", "VERSION", "__version__"]
__all__ = ["cron", "scheduler", "VERSION", "__version__"]

__version__ = _version.version
VERSION = _version.version_tuple
Expand Down Expand Up @@ -90,25 +88,3 @@ def decorator(task: Task) -> Task:
return task

return decorator


def interval(*, seconds):
"""
Run task on a periodic interval.

The interval decorator is deprecated and will be removed in a future release.
Please use the cron decorator with an 'IntervalTrigger' instead.
"""
warnings.warn(
"The interval decorator is deprecated and will be removed in a future release. "
"Please use the cron decorator with an 'IntervalTrigger' instead.",
DeprecationWarning,
stacklevel=2,
)

return cron(
IntervalTrigger(
seconds=seconds,
timezone=timezone.get_default_timezone(),
)
)
12 changes: 1 addition & 11 deletions tests/test_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import pytest
from apscheduler.triggers.interval import IntervalTrigger
from crontask import cron, interval, scheduler, tasks
from crontask import cron, scheduler, tasks
from django.utils import timezone

from tests.testapp.tasks import my_task
Expand Down Expand Up @@ -112,16 +112,6 @@ def test_cron__custom_trigger():
) == datetime.datetime(2021, 1, 1, 0, 0, 30, tzinfo=DEFAULT_TZINFO)


def test_interval__seconds():
assert not scheduler.remove_all_jobs()
with pytest.deprecated_call():
assert interval(seconds=30)(tasks.heartbeat)
init = datetime.datetime(2021, 1, 1, 0, 0, 0, tzinfo=DEFAULT_TZINFO)
assert scheduler.get_jobs()[0].trigger.get_next_fire_time(
init, init
) == datetime.datetime(2021, 1, 1, 0, 0, 30, tzinfo=DEFAULT_TZINFO)


def test_cron__sentry_monitor_config_false(monkeypatch):
"""Disable Sentry monitoring for a task."""
assert not scheduler.remove_all_jobs()
Expand Down
Loading