Celery кажется хорошим решением для вашей проблемы с расписанием: у Периодических Задач Celery есть разрешение по времени выполнения в секундах.
Вы используете соответствующий инструмент здесь, но запись в crontab - не то, что вам нужно.Вы хотите использовать объект datetime.timedelta в python;Планировщик crontab в celery.schedules имеет только минутное разрешение, но использование timedelta для настройки интервала PeriodicTask обеспечивает строго больше функциональности, в данном случае, в секунду.
Например, из документов Celery
>>> from celery.task import tasks, PeriodicTask
>>> from datetime import timedelta
>>> class EveryThirtySecondsTask(PeriodicTask):
... run_every = timedelta(seconds=30)
...
... def run(self, **kwargs):
... logger = self.get_logger(**kwargs)
... logger.info("Execute every 30 seconds")
http://ask.github.com/celery/reference/celery.task.base.html#celery.task.base.PeriodicTask
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
Единственная проблема здесь заключается в том, что вам нужно описать частоту, с которой вы хотите, чтобы эта задача выполнялась, а не в какое время вы хотите, чтобы она выполнялась;однако я бы посоветовал вам проверить Advanced Python Scheduler http://packages.python.org/APScheduler/
Похоже, Advanced Python Scheduler можно легко использовать для запуска обычных (то есть не периодических) задач Celery в любое расписание по вашему выбору, используя его собственныйфункциональность планирования.