2012-04-06 5 views
0

나는이 solution을 사용하려고 시도하지만 성공하지는 못합니다. 작업을 실행해야하는 날짜를 어떻게 지정할 수 있습니까? 내 솔루션은 내가 너와 장고 - 셀러리를 실행하려고특정 날짜에 실행되는 셀러리를 사용하여 작업을 예약하려면 어떻게해야합니까?

class DayOfMonth(schedule): 

    def __init__(self, day=1): 
     self.day = day 

    def is_due(self, last_run_at): 
     now = datetime.datetime.now() 
     if now.month != last_run_at.month and now.day == self.day: 
      return True, 3000 
     return False, 3000 

    def __eq__(self, other): 
      if isinstance(other, DayOfMonth): 
       return self.day == other.day and self.month == other.month 
      return False 

했지만, 나는 아직도 run_every가 지정되지 않은 것으로 오류가 발생합니다.

편집 1 :

"my_task": { 
     "task": "util.tasks.CeleryManagementCommand", 
     "schedule": DayOfMonth(day=4), 
     "args": ('my_task',), 
    }, 

2 EDIT

DICT CELERYBEAT_SHEDULE에 :

내가 초기화에 run_every을 지정하는 경우 ->self.run_every = None I

나는 내 작업 추가를 실행 없음 형식 개체에 특성이없는 오류가 발생했습니다 total_seconds

+0

왜 당신이 그것을 통해하지 않는다 : 당신이 선택하면

class DayOfMonth(schedule): def __init__(self, day=1, *args, **kwargs): super(DayOfMonth, self).__init__(*args, **kwargs) self.day = day 

, 그것은 당신이 발견 한 오류에 빛을 흘렸다 : 나는이 문제가 해결됩니다 확신 크론 일? – Ahsan

+0

작업 생성에 사용 된 코드를 보여줄 수 있습니까? –

+0

왜냐하면 나는이 셀을 – szaman

답변