如何获得周期性任务调度的结果



嘿,伙计们,我是芹菜新手。我正在进行定期任务调度。我已将我的celeryconfig.py配置如下:

from datetime import timedelta
BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = "redis"
CELERY_REDIS_HOST = "localhost"
CELERY_REDIS_PORT = 6379
CELERY_REDIS_DB = 0
CELERY_IMPORTS=("mytasks")
CELERYBEAT_SCHEDULE={'runs-every-60-seconds' :
                        {
                                'task': 'mytasks.add',
                                'schedule': timedelta(seconds=60),
                                'args':(16,16)
                        },
                    }

和CCD_ 2如下:

from celery import Celery
celery = Celery("tasks",
                broker='redis://localhost:6379/0',
                backend='redis')

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

当我跑步的时候celery beat -s celerybeat-schedule然后我得到

Configuration -> . broker -> redis://localhost:6379/0 . loader -> celery.loaders.default.Loader . scheduler -> celery.beat.PersistentScheduler . db -> celerybeat-schedule . logfile -> [stderr]@INFO . maxinterval -> now (0s) [2012-08-28 12:27:17,825: INFO/MainProcess] Celerybeat: Starting... [2012-08-28 12:28:00,041: INFO/MainProcess] Scheduler: Sending due task mytasks.add [2012-08-28 12:29:00,057: INFO/MainProcess] Scheduler: Sending due task mytasks.add [2012-08-28 12:30:00,064: INFO/MainProcess] Scheduler: Sending due task mytasks.add [2012-08-28 12:31:00,097: INFO/MainProcess] Scheduler: Sending due task mytasks.add

现在我还没有得到我已经传递了参数(16,16),那么我如何才能得到这个函数的答案add(x,y)

我不确定我是否完全理解您的要求,但据我所知,您的问题可能是以下问题之一:

1) 您正在运行celeryd(工作进程守护进程)吗?如果没有,你有没有在航站楼安排一名芹菜工人?Celery beat是一个任务调度器。它不是工人。Celerybeat只安排任务(即将它们放在队列中,供工作人员最终使用)。

2) 你打算如何查看结果?他们被救到什么地方了吗?由于您已将结果后端设置为redis,因此结果至少临时存储在redis结果后端中

最新更新