def test_task_registry(self): r = TaskRegistry() self.assertIsInstance(r, dict, "TaskRegistry is mapping") self.assertRegisterUnregisterCls(r, MockTask) self.assertRegisterUnregisterCls(r, MockPeriodicTask) r.register(MockPeriodicTask) r.unregister(MockPeriodicTask.name) self.assertNotIn(MockPeriodicTask, r) r.register(MockPeriodicTask) tasks = dict(r) self.assertIsInstance(tasks.get(MockTask.name), MockTask) self.assertIsInstance(tasks.get(MockPeriodicTask.name), MockPeriodicTask) self.assertIsInstance(r[MockTask.name], MockTask) self.assertIsInstance(r[MockPeriodicTask.name], MockPeriodicTask) r.unregister(MockTask) self.assertNotIn(MockTask.name, r) r.unregister(MockPeriodicTask) self.assertNotIn(MockPeriodicTask.name, r) self.assertTrue(MockTask().run()) self.assertTrue(MockPeriodicTask().run())
def setUp(self): self.registry = TaskRegistry() self.task_classes = (TaskA, TaskB, TaskC) for task_cls in self.task_classes: self.registry.register(task_cls)
from __future__ import absolute_import from celery import Celery from celery.app.registry import TaskRegistry from celery_module.celery_task_class import baseclass from celery_module.config import Config registry = TaskRegistry() for model in Config.models: registry.register(baseclass(problem=model["problem"])) app = Celery( "celery_module", broker="redis://", #redis://192.168.38.6:6379/0 backend="redis://", tasks=registry) if __name__ == '__main__': app.start()
def test_compat(self): r = TaskRegistry() r.regular() r.periodic()
from celery.app.registry import TaskRegistry from friendship.contrib.suggestions.backends import importers from friendship.contrib.suggestions.backends.runners import AsyncRunner from friendship.contrib.suggestions.settings import RUNNER if issubclass(RUNNER, AsyncRunner): tasks = TaskRegistry() tasks.register(importers.GoogleImporter) tasks.register(importers.FacebookImporter) tasks.register(importers.TwitterImporter) tasks.register(importers.YahooImporter) tasks.register(importers.LinkedInImporter)
from __future__ import absolute_import import os from celery import Celery from django.apps import apps from core.tasks import sample_task from celery.app.registry import TaskRegistry os.environ.setdefault("DJANGO_SETTINGS_MODULE", "core.settings") app = Celery("core") app.config_from_object("django.conf:settings", namespace="CELERY") app.autodiscover_tasks(lambda: [n.name for n in apps.get_app_configs()]) # This line will tell Celery to autodiscover all your tasks.py that are in your app foldersapp registration = TaskRegistry() registration.register(sample_task)