test_basic.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import operator
  2. import time
  3. from celery.tests.functional import tasks
  4. from celery.tests.functional.case import WorkerCase
  5. from celery.task.control import broadcast
  6. class test_basic(WorkerCase):
  7. def test_started(self):
  8. self.assertWorkerAlive()
  9. def test_roundtrip_simple_task(self):
  10. publisher = tasks.add.get_publisher()
  11. results = [(tasks.add.apply_async(i, publisher=publisher), i)
  12. for i in zip(xrange(100), xrange(100))]
  13. for result, i in results:
  14. self.assertEqual(result.get(timeout=10), operator.add(*i))
  15. def test_dump_active(self, sleep=1):
  16. r1 = tasks.sleeptask.delay(sleep)
  17. r2 = tasks.sleeptask.delay(sleep)
  18. self.ensure_accepted(r1.task_id)
  19. active = self.inspect().active(safe=True)
  20. self.assertEqual(len(active), 2)
  21. self.assertEqual(active[0]["name"], tasks.sleeptask.name)
  22. self.assertEqual(active[0]["args"], [sleep])
  23. def test_dump_reserved(self, sleep=1):
  24. r1 = tasks.sleeptask.delay(sleep)
  25. r2 = tasks.sleeptask.delay(sleep)
  26. r3 = tasks.sleeptask.delay(sleep)
  27. r4 = tasks.sleeptask.delay(sleep)
  28. self.ensure_accepted(r1.task_id)
  29. reserved = self.inspect().reserved(safe=True)
  30. self.assertTrue(reserved)
  31. self.assertEqual(reserved[0]["name"], tasks.sleeptask.name)
  32. self.assertEqual(reserved[0]["args"], [sleep])
  33. def test_dump_schedule(self, countdown=1):
  34. r1 = tasks.add.apply_async((2, 2), countdown=countdown)
  35. r2 = tasks.add.apply_async((2, 2), countdown=countdown)
  36. self.ensure_scheduled(r1.task_id, interval=0.1)
  37. schedule = self.inspect().scheduled(safe=True)
  38. self.assertTrue(schedule)
  39. self.assertTrue(len(schedule), 2)
  40. self.assertEqual(schedule[0]["request"]["name"], tasks.add.name)
  41. self.assertEqual(schedule[0]["request"]["args"], [2, 2])