# 使用 Celery 擴大規模
> 貢獻者:[@ImPerat0R\_](https://github.com/tssujt)、[@ThinkingChen](https://github.com/cdmikechen)
`CeleryExecutor`是您擴展 worker 數量的方法之一。為此,您需要設置 Celery 后端(**RabbitMQ**,**Redis**,...)并更改`airflow.cfg`以將執行程序參數指向`CeleryExecutor`并提供相關的 Celery 設置。
有關設置 Celery broker 的更多信息,請參閱[有關該主題的詳細的 Celery 文檔](http://docs.celeryproject.org/en/latest/getting-started/brokers/index.html)。
以下是您的 workers 的一些必要要求:
* 需要安裝`airflow`,CLI 需要在路徑中
* 整個集群中的 Airflow 配置設置應該是同構的
* 在 worker 上執行的 Operators(執行器)需要在該上下文中滿足其依賴項。例如,如果您使用`HiveOperator`,則需要在該框上安裝 hive CLI,或者如果您使用`MySqlOperator`,則必須以某種方式在`PYTHONPATH`提供所需的 Python 庫
* workers 需要訪問其`DAGS_FOLDER`的權限,您需要通過自己的方式同步文件系統。常見的設置是將 DAGS_FOLDER 存儲在 Git 存儲庫中,并使用 Chef,Puppet,Ansible 或用于配置環境中的計算機的任何內容在計算機之間進行同步。如果您的所有盒子都有一個共同的掛載點,那么共享您的管道文件也應該可以正常工作
要啟動 worker,您需要設置 Airflow 并啟動 worker 子命令
```py
airflow worker
```
您的 worker 一旦啟動就應該開始接收任務。
請注意,您還可以運行“Celery Flower”,這是一個建立在 Celery 之上的 Web UI,用于監控您的 worker。 您可以使用快捷命令`airflow flower`啟動 Flower Web 服務器。
一些警告:
* 確保使用數據庫來作為 result backend(Celery result_backend,celery 的后臺存儲數據庫)的后臺存儲
* 確保在[celery_broker_transport_options]中設置超過最長運行任務的 ETA 的可見性超時
* 任務會消耗資源,請確保您的 worker 有足夠的資源來運行 worker_concurrency 任務