【发布时间】:2020-05-12 15:08:02
【问题描述】:
这是我寻求回答的一个通用问题,因为我在公司的代码库中看到了一位前员工的 celery 任务。
这是一个调用类似端点的共享任务
@shared_task(time_limit=60*60)
def celery_task_here(some_args):
data = get_data(user, url, server_name)
# some other logic to build csv and stuff
def get_data(user, url, server_name):
client = APIClient()
client.force_authenticate(user=user)
response = client.get(some_url, format='json', SERVER_NAME=server_name)
所有逻辑都驻留在该端点中。
现在我的理解是,这将使服务器完成所有工作并且不利用 celery 的优势,但是当我在本地运行它时,我确实看到 celery 日志产生查询。我想知道在这种情况下实际上是谁在做这项工作,celery 还是 django 服务器?
【问题讨论】: