正在根据可用 RAM 使用 python/celery/any 个其他任务队列安排任务

Scheduling tasks with python/celery/any other task queue based on available RAM

有没有办法让 Celery 根据可用 RAM 分配任务给 worker?我正在开发一个 web 应用程序,它将内存饥饿算法应用于内存中的大量数据,有没有办法使用 Celery 尊重可用 RAM 来使其更健壮?

无法根据可用 RAM 将任务分配给工作人员。但是,根据您的设置和具体要求,有一些方法可以解决这个问题。我突然想到:

  • 你 运行 一个工人(没有别的)在一台有大量 RAM 的机器上 并让这个工作人员只处理这些需要大量内存的任务
  • 如果你知道处理一个任务需要多少内存,你就可以 检查该内存是否可用作为您任务的第一步 (假设那个盒子上没有太多其他 运行s 可以用完那个 检查和实际 运行ning 之间的内存 需要内存的东西),如果没有,您可以在 一定时间