Quellcode durchsuchen

Removes built-in ping task (celery.ping) scheduled for removal since 2.3

Ask Solem vor 13 Jahren
Ursprung
Commit
6708b9ce9b

+ 0 - 22
celery/task/__init__.py

@@ -11,10 +11,7 @@
 """
 """
 from __future__ import absolute_import
 from __future__ import absolute_import
 
 
-import warnings
-
 from ..app import app_or_default
 from ..app import app_or_default
-from ..exceptions import CDeprecationWarning
 
 
 from .base import Task, PeriodicTask        # noqa
 from .base import Task, PeriodicTask        # noqa
 from .sets import group, TaskSet, subtask   # noqa
 from .sets import group, TaskSet, subtask   # noqa
@@ -91,22 +88,3 @@ def periodic_task(*args, **options):
 @task(name="celery.backend_cleanup")
 @task(name="celery.backend_cleanup")
 def backend_cleanup():
 def backend_cleanup():
     backend_cleanup.backend.cleanup()
     backend_cleanup.backend.cleanup()
-
-
-class PingTask(Task):  # ✞
-    name = "celery.ping"
-
-    def run(self, **kwargs):
-        return "pong"
-
-
-def ping():  # ✞
-    """Deprecated and scheduled for removal in Celery 2.3.
-
-    Please use :meth:`celery.task.control.ping` instead.
-
-    """
-    warnings.warn(CDeprecationWarning(
-        "The ping task has been deprecated and will be removed in Celery "
-        "v2.3.  Please use inspect.ping instead."))
-    return PingTask.apply_async().get()

+ 1 - 1
celery/task/base.py

@@ -14,7 +14,7 @@ from __future__ import absolute_import
 from .. import current_app
 from .. import current_app
 from ..app.task import Context, TaskType, BaseTask  # noqa
 from ..app.task import Context, TaskType, BaseTask  # noqa
 from ..schedules import maybe_schedule
 from ..schedules import maybe_schedule
-from ..utils import deprecated, timeutils
+from ..utils import timeutils
 
 
 Task = current_app.Task
 Task = current_app.Task
 
 

+ 16 - 10
celery/tests/test_app/test_routes.py

@@ -6,10 +6,16 @@ from functools import wraps
 from celery import routes
 from celery import routes
 from celery import current_app
 from celery import current_app
 from celery.exceptions import QueueNotFound
 from celery.exceptions import QueueNotFound
+from celery.task import task
 from celery.utils import maybe_promise
 from celery.utils import maybe_promise
 from celery.tests.utils import Case
 from celery.tests.utils import Case
 
 
 
 
+@task
+def mytask():
+    pass
+
+
 def E(queues):
 def E(queues):
     def expand(answer):
     def expand(answer):
         return routes.Router([], queues).expand_destination(answer)
         return routes.Router([], queues).expand_destination(answer)
@@ -52,17 +58,17 @@ class test_MapRoute(Case):
     @with_queues(foo=a_queue, bar=b_queue)
     @with_queues(foo=a_queue, bar=b_queue)
     def test_route_for_task_expanded_route(self):
     def test_route_for_task_expanded_route(self):
         expand = E(current_app.conf.CELERY_QUEUES)
         expand = E(current_app.conf.CELERY_QUEUES)
-        route = routes.MapRoute({"celery.ping": {"queue": "foo"}})
+        route = routes.MapRoute({mytask.name: {"queue": "foo"}})
         self.assertDictContainsSubset(a_queue,
         self.assertDictContainsSubset(a_queue,
-                             expand(route.route_for_task("celery.ping")))
+                             expand(route.route_for_task(mytask.name)))
         self.assertIsNone(route.route_for_task("celery.awesome"))
         self.assertIsNone(route.route_for_task("celery.awesome"))
 
 
     @with_queues(foo=a_queue, bar=b_queue)
     @with_queues(foo=a_queue, bar=b_queue)
     def test_route_for_task(self):
     def test_route_for_task(self):
         expand = E(current_app.conf.CELERY_QUEUES)
         expand = E(current_app.conf.CELERY_QUEUES)
-        route = routes.MapRoute({"celery.ping": b_queue})
+        route = routes.MapRoute({mytask.name: b_queue})
         self.assertDictContainsSubset(b_queue,
         self.assertDictContainsSubset(b_queue,
-                             expand(route.route_for_task("celery.ping")))
+                             expand(route.route_for_task(mytask.name)))
         self.assertIsNone(route.route_for_task("celery.awesome"))
         self.assertIsNone(route.route_for_task("celery.awesome"))
 
 
     def test_expand_route_not_found(self):
     def test_expand_route_not_found(self):
@@ -80,11 +86,11 @@ class test_lookup_route(Case):
 
 
     @with_queues(foo=a_queue, bar=b_queue)
     @with_queues(foo=a_queue, bar=b_queue)
     def test_lookup_takes_first(self):
     def test_lookup_takes_first(self):
-        R = routes.prepare(({"celery.ping": {"queue": "bar"}},
-                            {"celery.ping": {"queue": "foo"}}))
+        R = routes.prepare(({mytask.name: {"queue": "bar"}},
+                            {mytask.name: {"queue": "foo"}}))
         router = routes.Router(R, current_app.conf.CELERY_QUEUES)
         router = routes.Router(R, current_app.conf.CELERY_QUEUES)
         self.assertDictContainsSubset(b_queue,
         self.assertDictContainsSubset(b_queue,
-                router.route({}, "celery.ping",
+                router.route({}, mytask.name,
                     args=[1, 2], kwargs={}))
                     args=[1, 2], kwargs={}))
 
 
     @with_queues()
     @with_queues()
@@ -98,7 +104,7 @@ class test_lookup_route(Case):
                               "exchange": None,
                               "exchange": None,
                               "routing_key": None,
                               "routing_key": None,
                               "immediate": False},
                               "immediate": False},
-                             "celery.ping",
+                             mytask.name,
                              args=[1, 2], kwargs={})
                              args=[1, 2], kwargs={})
         self.assertDictContainsSubset({"exchange": "testq",
         self.assertDictContainsSubset({"exchange": "testq",
                                        "routing_key": "testq",
                                        "routing_key": "testq",
@@ -116,10 +122,10 @@ class test_lookup_route(Case):
         current_app.conf.CELERY_DEFAULT_QUEUE: d_queue})
         current_app.conf.CELERY_DEFAULT_QUEUE: d_queue})
     def test_lookup_paths_traversed(self):
     def test_lookup_paths_traversed(self):
         R = routes.prepare(({"celery.xaza": {"queue": "bar"}},
         R = routes.prepare(({"celery.xaza": {"queue": "bar"}},
-                            {"celery.ping": {"queue": "foo"}}))
+                            {mytask.name: {"queue": "foo"}}))
         router = routes.Router(R, current_app.amqp.queues)
         router = routes.Router(R, current_app.amqp.queues)
         self.assertDictContainsSubset(a_queue,
         self.assertDictContainsSubset(a_queue,
-                router.route({}, "celery.ping",
+                router.route({}, mytask.name,
                     args=[1, 2], kwargs={}))
                     args=[1, 2], kwargs={}))
         self.assertEqual(router.route({}, "celery.poza"),
         self.assertEqual(router.route({}, "celery.poza"),
                 dict(d_queue, queue=current_app.conf.CELERY_DEFAULT_QUEUE))
                 dict(d_queue, queue=current_app.conf.CELERY_DEFAULT_QUEUE))

+ 0 - 4
celery/tests/test_task/__init__.py

@@ -230,10 +230,6 @@ class TestCeleryTasks(Case):
         self.assertEqual(result.backend, RetryTask.backend)
         self.assertEqual(result.backend, RetryTask.backend)
         self.assertEqual(result.task_id, task_id)
         self.assertEqual(result.task_id, task_id)
 
 
-    @with_eager_tasks
-    def test_ping(self):
-        self.assertEqual(task.ping(), 'pong')
-
     def assertNextTaskDataEqual(self, consumer, presult, task_name,
     def assertNextTaskDataEqual(self, consumer, presult, task_name,
             test_eta=False, test_expires=False, **kwargs):
             test_eta=False, test_expires=False, **kwargs):
         next_task = consumer.fetch()
         next_task = consumer.fetch()

+ 8 - 2
celery/tests/test_task/test_result.py

@@ -7,12 +7,18 @@ from celery.utils import uuid
 from celery.utils.serialization import pickle
 from celery.utils.serialization import pickle
 from celery.result import AsyncResult, EagerResult, TaskSetResult, ResultSet
 from celery.result import AsyncResult, EagerResult, TaskSetResult, ResultSet
 from celery.exceptions import TimeoutError
 from celery.exceptions import TimeoutError
+from celery.task import task
 from celery.task.base import Task
 from celery.task.base import Task
 
 
 from celery.tests.utils import AppCase
 from celery.tests.utils import AppCase
 from celery.tests.utils import skip_if_quick
 from celery.tests.utils import skip_if_quick
 
 
 
 
+@task
+def mytask():
+    pass
+
+
 def mock_task(name, state, result):
 def mock_task(name, state, result):
     return dict(id=uuid(), name=name, state=state, result=result)
     return dict(id=uuid(), name=name, state=state, result=result)
 
 
@@ -48,10 +54,10 @@ class TestAsyncResult(AppCase):
             save_result(task)
             save_result(task)
 
 
     def test_reduce(self):
     def test_reduce(self):
-        a1 = AsyncResult("uuid", task_name="celery.ping")
+        a1 = AsyncResult("uuid", task_name=mytask.name)
         restored = pickle.loads(pickle.dumps(a1))
         restored = pickle.loads(pickle.dumps(a1))
         self.assertEqual(restored.task_id, "uuid")
         self.assertEqual(restored.task_id, "uuid")
-        self.assertEqual(restored.task_name, "celery.ping")
+        self.assertEqual(restored.task_name, mytask.name)
 
 
         a2 = AsyncResult("uuid")
         a2 = AsyncResult("uuid")
         self.assertEqual(pickle.loads(pickle.dumps(a2)).task_id, "uuid")
         self.assertEqual(pickle.loads(pickle.dumps(a2)).task_id, "uuid")

+ 1 - 26
celery/tests/test_task/test_task_builtins.py

@@ -1,34 +1,9 @@
 from __future__ import absolute_import
 from __future__ import absolute_import
-from __future__ import with_statement
 
 
-from celery.task import ping, PingTask, backend_cleanup
-from celery.exceptions import CDeprecationWarning
+from celery.task import backend_cleanup
 from celery.tests.utils import Case
 from celery.tests.utils import Case
 
 
 
 
-def some_func(i):
-    return i * i
-
-
-class test_deprecated(Case):
-
-    def test_ping(self):
-        with self.assertWarnsRegex(CDeprecationWarning,
-                r'ping task has been deprecated'):
-            prev = PingTask.app.conf.CELERY_ALWAYS_EAGER
-            PingTask.app.conf.CELERY_ALWAYS_EAGER = True
-            try:
-                self.assertEqual(ping(), "pong")
-            finally:
-                PingTask.app.conf.CELERY_ALWAYS_EAGER = prev
-
-    def test_TaskSet_import_from_task_base(self):
-        with self.assertWarnsRegex(CDeprecationWarning, r'is deprecated'):
-            from celery.task.base import TaskSet, subtask
-            TaskSet()
-            subtask(PingTask)
-
-
 class test_backend_cleanup(Case):
 class test_backend_cleanup(Case):
 
 
     def test_run(self):
     def test_run(self):

+ 7 - 2
celery/tests/test_task/test_task_control.py

@@ -7,11 +7,16 @@ from kombu.pidbox import Mailbox
 
 
 from celery.app import app_or_default
 from celery.app import app_or_default
 from celery.task import control
 from celery.task import control
-from celery.task import PingTask
+from celery.task import task
 from celery.utils import uuid
 from celery.utils import uuid
 from celery.tests.utils import Case
 from celery.tests.utils import Case
 
 
 
 
+@task
+def mytask():
+    pass
+
+
 class MockMailbox(Mailbox):
 class MockMailbox(Mailbox):
     sent = []
     sent = []
 
 
@@ -144,7 +149,7 @@ class test_Broadcast(Case):
 
 
     @with_mock_broadcast
     @with_mock_broadcast
     def test_rate_limit(self):
     def test_rate_limit(self):
-        self.control.rate_limit(PingTask.name, "100/m")
+        self.control.rate_limit(mytask.name, "100/m")
         self.assertIn("rate_limit", MockMailbox.sent)
         self.assertIn("rate_limit", MockMailbox.sent)
 
 
     @with_mock_broadcast
     @with_mock_broadcast

+ 3 - 4
celery/tests/test_worker/test_worker_control.py

@@ -13,7 +13,6 @@ from celery import current_app
 from celery.datastructures import AttributeDict
 from celery.datastructures import AttributeDict
 from celery.task import task
 from celery.task import task
 from celery.registry import tasks
 from celery.registry import tasks
-from celery.task import PingTask
 from celery.utils import uuid
 from celery.utils import uuid
 from celery.utils.timer2 import Timer
 from celery.utils.timer2 import Timer
 from celery.worker.buckets import FastQueue
 from celery.worker.buckets import FastQueue
@@ -155,7 +154,7 @@ class test_ControlPanel(Case):
     def test_active(self):
     def test_active(self):
         from celery.worker.job import TaskRequest
         from celery.worker.job import TaskRequest
 
 
-        r = TaskRequest(PingTask.name, "do re mi", (), {})
+        r = TaskRequest(mytask.name, "do re mi", (), {})
         state.active_requests.add(r)
         state.active_requests.add(r)
         try:
         try:
             self.assertTrue(self.panel.handle("dump_active"))
             self.assertTrue(self.panel.handle("dump_active"))
@@ -228,7 +227,7 @@ class test_ControlPanel(Case):
         consumer = Consumer()
         consumer = Consumer()
         panel = self.create_panel(consumer=consumer)
         panel = self.create_panel(consumer=consumer)
         self.assertFalse(panel.handle("dump_schedule"))
         self.assertFalse(panel.handle("dump_schedule"))
-        r = TaskRequest("celery.ping", "CAFEBABE", (), {})
+        r = TaskRequest(mytask.name, "CAFEBABE", (), {})
         consumer.eta_schedule.schedule.enter(
         consumer.eta_schedule.schedule.enter(
                 consumer.eta_schedule.Entry(lambda x: x, (r, )),
                 consumer.eta_schedule.Entry(lambda x: x, (r, )),
                     datetime.now() + timedelta(seconds=10))
                     datetime.now() + timedelta(seconds=10))
@@ -277,7 +276,7 @@ class test_ControlPanel(Case):
         consumer = Consumer()
         consumer = Consumer()
         panel = self.create_panel(consumer=consumer)
         panel = self.create_panel(consumer=consumer)
 
 
-        task = tasks[PingTask.name]
+        task = tasks[mytask.name]
         old_rate_limit = task.rate_limit
         old_rate_limit = task.rate_limit
         try:
         try:
             panel.handle("rate_limit", arguments=dict(task_name=task.name,
             panel.handle("rate_limit", arguments=dict(task_name=task.name,

+ 2 - 2
celery/worker/buckets.py

@@ -44,11 +44,11 @@ class TaskBucket(object):
     while the :meth:`get` operation iterates over the buckets and retrieves
     while the :meth:`get` operation iterates over the buckets and retrieves
     the first available item.
     the first available item.
 
 
-    Say we have three types of tasks in the registry: `celery.ping`,
+    Say we have three types of tasks in the registry: `twitter.update`,
     `feed.refresh` and `video.compress`, the TaskBucket will consist
     `feed.refresh` and `video.compress`, the TaskBucket will consist
     of the following items::
     of the following items::
 
 
-        {"celery.ping": TokenBucketQueue(fill_rate=300),
+        {"twitter.update": TokenBucketQueue(fill_rate=300),
          "feed.refresh": Queue(),
          "feed.refresh": Queue(),
          "video.compress": TokenBucketQueue(fill_rate=2)}
          "video.compress": TokenBucketQueue(fill_rate=2)}