# airflow_supporter
airflow_supporter provide services to supporter to manage Apache Airflow
## Usage
1. Alert email on off DAG and turn on DAG automatically
- Insert following example in your DAG
```python
from airflow_supporter.dag.check_off_dag import create_check_off_dag
create_check_off_dag()
```
- Variable
- enroll following Variable in your airflow
- `check_off_dag_variable`
```
{
exclude_dag_list: list[str], default empty list,
automatically_turn_on: bool, default true,
email: Optional[str]
}
```
2. Restart failed DagRun
```python
@dag(dag_id="restart_failed_dagrun_dag", schedule="* * * * *", is_paused_upon_creation=False, catchup=False,
start_date=datetime(year=1970, month=1, day=1), )
def restart_failed_dagrun_dag() -> None:
restart_failed_dagrun_op.restart_failed_dagrun_op(rv=RestartFailedDagrunVariable())
restart_failed_dagrun_dag()
```
3. Restart stucked Task
```python
@dag(dag_id="clear_stucked_task_dag", schedule="* * * * *", is_paused_upon_creation=False, catchup=False,
start_date=datetime(year=1970, month=1, day=1), )
def clear_stucked_task_dag() -> None:
restart_stucked_task_op.clear_stucked_task_op(rv=RestartStuckedTaskVariable())
clear_stucked_task_dag()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ultimatelife/airflow-supporter",
"name": "airflow-supporter",
"maintainer": "Kunizno",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "pykunzino@gmail.com",
"keywords": "apache-airflow,airflow,airflow-supporter",
"author": "Kunizno",
"author_email": "pykunzino@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/0c/1a/7c471ee6df4ab0744509389661b94feec5fca175d8c5a6ed0c9e6d04107f/airflow_supporter-1.0.0.tar.gz",
"platform": null,
"description": "# airflow_supporter\n\nairflow_supporter provide services to supporter to manage Apache Airflow\n\n## Usage\n\n1. Alert email on off DAG and turn on DAG automatically\n - Insert following example in your DAG\n ```python\n from airflow_supporter.dag.check_off_dag import create_check_off_dag\n create_check_off_dag()\n ```\n\n - Variable\n - enroll following Variable in your airflow\n - `check_off_dag_variable`\n ```\n {\n exclude_dag_list: list[str], default empty list,\n automatically_turn_on: bool, default true,\n email: Optional[str]\n }\n ```\n\n2. Restart failed DagRun\n ```python\n @dag(dag_id=\"restart_failed_dagrun_dag\", schedule=\"* * * * *\", is_paused_upon_creation=False, catchup=False,\n start_date=datetime(year=1970, month=1, day=1), )\n def restart_failed_dagrun_dag() -> None:\n restart_failed_dagrun_op.restart_failed_dagrun_op(rv=RestartFailedDagrunVariable())\n\n restart_failed_dagrun_dag()\n ```\n\n3. Restart stucked Task\n ```python\n @dag(dag_id=\"clear_stucked_task_dag\", schedule=\"* * * * *\", is_paused_upon_creation=False, catchup=False,\n start_date=datetime(year=1970, month=1, day=1), )\n def clear_stucked_task_dag() -> None:\n restart_stucked_task_op.clear_stucked_task_op(rv=RestartStuckedTaskVariable())\n \n clear_stucked_task_dag()\n ```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Airflow Supporter",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/ultimatelife/airflow-supporter",
"Repository": "https://github.com/ultimatelife/airflow-supporter"
},
"split_keywords": [
"apache-airflow",
"airflow",
"airflow-supporter"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79f97f11ab36656c60f849f188a35a478c940f0b369c83a9302b2b55a2787f35",
"md5": "cbe6a7b2c635668de98e36a21443ebd5",
"sha256": "674473f7aba95c33a28b64ae97c3bc082dd4091fedaf30285394ce655ea3c53a"
},
"downloads": -1,
"filename": "airflow_supporter-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cbe6a7b2c635668de98e36a21443ebd5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 6622,
"upload_time": "2023-07-04T16:31:17",
"upload_time_iso_8601": "2023-07-04T16:31:17.651875Z",
"url": "https://files.pythonhosted.org/packages/79/f9/7f11ab36656c60f849f188a35a478c940f0b369c83a9302b2b55a2787f35/airflow_supporter-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0c1a7c471ee6df4ab0744509389661b94feec5fca175d8c5a6ed0c9e6d04107f",
"md5": "7bb25ba3dd8c8ecbe911720df8203a1c",
"sha256": "232b79a24120b4fd5a102b533f8b0d2f5784805bd755f57108bc699887318827"
},
"downloads": -1,
"filename": "airflow_supporter-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "7bb25ba3dd8c8ecbe911720df8203a1c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 4541,
"upload_time": "2023-07-04T16:31:18",
"upload_time_iso_8601": "2023-07-04T16:31:18.784873Z",
"url": "https://files.pythonhosted.org/packages/0c/1a/7c471ee6df4ab0744509389661b94feec5fca175d8c5a6ed0c9e6d04107f/airflow_supporter-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-04 16:31:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ultimatelife",
"github_project": "airflow-supporter",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "airflow-supporter"
}