rabbitmq celery 发送_任务标题

bjg7j2ky  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(163)

有没有可能为一个send_task设置头文件而不为另一个设置头文件?我注意到send_task()没有默认设置头文件的可能性。我找到了https://stackoverflow.com/a/55718269/10306224,但它会为所有任务添加头文件。也许我只是错过了一些东西...谢谢!

@app.task(
    bind=True,
    queue="dimensions-service",
    name="dimensions-service:persist",
    acks_late=True,
    task_reject_on_worker_lost=True,
    autoretry_for=(Exception,),
    retry_backoff=True,
    max_retries=3,
    task_time_limit=8,
)
@statsd.timed('persist_function.timer', use_ms=True)
def persister(
        self: Task,
        data: str
) -> None:
    # persist_data(data)

    # HERE I DON'T WANT TO SET HEADERS
    app.send_task(
        name="different_name",
        queue="different_queue",
        args=(data,)
    )
@app.task(
    bind=True,
    queue="dimensions-service",
    name="dimensions-service:check",
    acks_late=True,
    task_reject_on_worker_lost=True,
    autoretry_for=(Exception,),
    retry_backoff=True,
    max_retries=3,
    task_time_limit=8
)
@statsd.timed('check_function.timer', use_ms=True)
def check_if_exists(
        self: Task,
        data
) -> None:

    # HERE I WANT TO SET CUSTOM HEADER
    app.send_task(
        name="dimensions-service-measure:measure",
        queue="dimensions-service-measure",
        args=(data,)
    )
kninwzqo

kninwzqo1#

没关系,它实际上是这样工作的,即使它没有记录。

app.send_task(
    name="dimensions-service-measure:measure",
    queue="dimensions-service-measure",
    args=(data,),
    headers={"foo": "bar"}
)

相关问题