所以我有一个非常有趣的场景,我想以不同的优先级运行相同的 Celery 任务,具体取决于它的调用位置 - 例如,我想为高级用户运行一个任务,其优先级高于非高级用户。
使用文档,我能够设置多个队列,并且能够通过将所有 .delay 调用更改为 .apply_async 调用并传入一个额外的 routing_key 来指定优先级队列来使其工作。问题是必须在很多不同的地方这样做。有没有更好的方法来处理这个?我试图尽可能避免更改视图中的代码,并且更愿意在任务或 celery 配置中处理这个问题。
所以我有一个非常有趣的场景,我想以不同的优先级运行相同的 Celery 任务,具体取决于它的调用位置 - 例如,我想为高级用户运行一个任务,其优先级高于非高级用户。
使用文档,我能够设置多个队列,并且能够通过将所有 .delay 调用更改为 .apply_async 调用并传入一个额外的 routing_key 来指定优先级队列来使其工作。问题是必须在很多不同的地方这样做。有没有更好的方法来处理这个?我试图尽可能避免更改视图中的代码,并且更愿意在任务或 celery 配置中处理这个问题。