2016-11-28 6 views
1

매 초마다 작업을 실행하고 있으며 샐러리가 모든 작업을 실제로 수행하지는 않는 것처럼 보입니다.매 초 작업에 셀러리를 사용할 수 있습니까?

셀러리는 1 분 작업마다 좋은 스케줄러가 될 수 있지만 두 번째 작업마다 adequte가 아닐 수도 있습니다. 여기

enter image description here

나는 다음과 같은 옵션

 'schedule': 1.0, 
    'args': [], 
    'options': { 
     'expires': 3 
    } 

내가 네

답변

0

셀러리 4.0.0을 사용하고 있습니다를 사용하고 있는데 무슨 뜻인지 설명 할 것이다 그림의 Celery는 실제로 1 초 정도의 시간을 처리하며, float을 사용하기 때문에 낮아질 수 있습니다.

# file: tasks.py 
from celery import Celery 

celery = Celery('tasks', broker='pyamqp://[email protected]//') 

@celery.task 
def add(x, y): 
    return x + y 


@celery.on_after_configure.connect 
def add_periodic(**kwargs): 
    celery.add_periodic_task(10.0, add.s(2,3), name='add every 10') 

그래서 sender 즉, app = Celery() 실제 셀러리 브로커 : 더 나은 기록 된 예는 1/3을 완전히 https://github.com/celery/celery/issues/3589 찾을 수 있습니다

from celery import Celery 
from celery.schedules import crontab 

app = Celery() 

@app.on_after_configure.connect 
def setup_periodic_tasks(sender, **kwargs): 
    # Calls test('hello') every 10 seconds. 
    sender.add_periodic_task(10.0, test.s('hello'), name='add every 10') 

    # Calls test('world') every 30 seconds 
    sender.add_periodic_task(30.0, test.s('world'), expires=10) 

    # Executes every Monday morning at 7:30 a.m. 
    sender.add_periodic_task(
     crontab(hour=7, minute=30, day_of_week=1), 
     test.s('Happy Mondays!'), 
    ) 

@app.task 
def test(arg): 
    print(arg) 

: 워드 프로세서 http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html에서주기적인 작업이 항목을 참조하십시오

관련 문제