diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 07:18:56 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 07:18:56 +0000 |
commit | 124501855766af297fd6de06398121ce45630bcc (patch) | |
tree | f08790baf0e69769bf2d4b292b4e75e3b40dfb39 /python-luigi-monitor.spec | |
parent | fcee62c1f46a8a30d3cc995e8ef1628ad2005178 (diff) |
automatic import of python-luigi-monitor
Diffstat (limited to 'python-luigi-monitor.spec')
-rw-r--r-- | python-luigi-monitor.spec | 336 |
1 files changed, 336 insertions, 0 deletions
diff --git a/python-luigi-monitor.spec b/python-luigi-monitor.spec new file mode 100644 index 0000000..cb49b57 --- /dev/null +++ b/python-luigi-monitor.spec @@ -0,0 +1,336 @@ +%global _empty_manifest_terminate_build 0 +Name: python-luigi-monitor +Version: 1.1.4 +Release: 1 +Summary: Send summary messages of your Luigi jobs to Slack. +License: MIT +URL: https://github.com/hudl/luigi-monitor +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/61/a4/b170904b6a9a5c49a39231c582bd7bed3692ed4326542f6319437803b427/luigi-monitor-1.1.4.tar.gz +BuildArch: noarch + + +%description +## Luigi Monitor + +[](https://img.shields.io/pypi/v/luigi-monitor.svg) +[](https://img.shields.io/pypi/l/luigi-monitor.svg) +[](https://img.shields.io/pypi/pyversions/luigi-monitor.svg) +[](https://img.shields.io/pypi/format/luigi-monitor.svg) +[](https://travis-ci.org/hudl/luigi-monitor) + + + + +Send summary messages of your Luigi jobs to Slack. + +### Overview + +[Luigi](https://github.com/spotify/luigi) is a great tool for making +job pipelines, but it's hard to know the status of a run. Luigi has +support for error emails, but this requires configuring your machine +to send email, which is a hassle for short-lived EMR clusters. Further, +it sends an email for every failure, which can quickly swamp your inbox. + +By contrast, this tool gathers all your failures and missing dependencies +and sends a summary Slack message when the job is finished. + +### Usage + +With default app username: +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, max_print=10): + luigi.run(main_task_cls=MainClass) + +``` + +With dynamic app username: +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, max_print=10, username="FooBar Monitor"): + luigi.run(main_task_cls=MainClass) + +``` + +Monitoring and notifying on various events: + +Currently supports: `SUCCESS`, `DEPENDENCY_MISSING`, and `FAILURE` + +By default, all three of the above are monitored and notified on. If, `SUCCESS` event is monitored and +all tasks succeed then the notification text is "Job ran successfully" instead of listing _all_ +successful tasks. + +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, events=['DEPENDENCY_MISSING', 'FAILURE']): + luigi.run(main_task_cls=MainClass) +``` + +Alternatively: + +`luigi-monitor --module path.to.module TaskName` + +NB: if you plan to use luigi-monitor from the command line, set options using `luigi.cfg`: +``` +[luigi-monitor] +slack_url=<slack_hook> +max_print=<int> +username=<string> +``` + + +This is a work in progress. Particularly, note that: + +* It only sends notifications via Slack + + + +%package -n python3-luigi-monitor +Summary: Send summary messages of your Luigi jobs to Slack. +Provides: python-luigi-monitor +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-luigi-monitor +## Luigi Monitor + +[](https://img.shields.io/pypi/v/luigi-monitor.svg) +[](https://img.shields.io/pypi/l/luigi-monitor.svg) +[](https://img.shields.io/pypi/pyversions/luigi-monitor.svg) +[](https://img.shields.io/pypi/format/luigi-monitor.svg) +[](https://travis-ci.org/hudl/luigi-monitor) + + + + +Send summary messages of your Luigi jobs to Slack. + +### Overview + +[Luigi](https://github.com/spotify/luigi) is a great tool for making +job pipelines, but it's hard to know the status of a run. Luigi has +support for error emails, but this requires configuring your machine +to send email, which is a hassle for short-lived EMR clusters. Further, +it sends an email for every failure, which can quickly swamp your inbox. + +By contrast, this tool gathers all your failures and missing dependencies +and sends a summary Slack message when the job is finished. + +### Usage + +With default app username: +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, max_print=10): + luigi.run(main_task_cls=MainClass) + +``` + +With dynamic app username: +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, max_print=10, username="FooBar Monitor"): + luigi.run(main_task_cls=MainClass) + +``` + +Monitoring and notifying on various events: + +Currently supports: `SUCCESS`, `DEPENDENCY_MISSING`, and `FAILURE` + +By default, all three of the above are monitored and notified on. If, `SUCCESS` event is monitored and +all tasks succeed then the notification text is "Job ran successfully" instead of listing _all_ +successful tasks. + +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, events=['DEPENDENCY_MISSING', 'FAILURE']): + luigi.run(main_task_cls=MainClass) +``` + +Alternatively: + +`luigi-monitor --module path.to.module TaskName` + +NB: if you plan to use luigi-monitor from the command line, set options using `luigi.cfg`: +``` +[luigi-monitor] +slack_url=<slack_hook> +max_print=<int> +username=<string> +``` + + +This is a work in progress. Particularly, note that: + +* It only sends notifications via Slack + + + +%package help +Summary: Development documents and examples for luigi-monitor +Provides: python3-luigi-monitor-doc +%description help +## Luigi Monitor + +[](https://img.shields.io/pypi/v/luigi-monitor.svg) +[](https://img.shields.io/pypi/l/luigi-monitor.svg) +[](https://img.shields.io/pypi/pyversions/luigi-monitor.svg) +[](https://img.shields.io/pypi/format/luigi-monitor.svg) +[](https://travis-ci.org/hudl/luigi-monitor) + + + + +Send summary messages of your Luigi jobs to Slack. + +### Overview + +[Luigi](https://github.com/spotify/luigi) is a great tool for making +job pipelines, but it's hard to know the status of a run. Luigi has +support for error emails, but this requires configuring your machine +to send email, which is a hassle for short-lived EMR clusters. Further, +it sends an email for every failure, which can quickly swamp your inbox. + +By contrast, this tool gathers all your failures and missing dependencies +and sends a summary Slack message when the job is finished. + +### Usage + +With default app username: +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, max_print=10): + luigi.run(main_task_cls=MainClass) + +``` + +With dynamic app username: +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, max_print=10, username="FooBar Monitor"): + luigi.run(main_task_cls=MainClass) + +``` + +Monitoring and notifying on various events: + +Currently supports: `SUCCESS`, `DEPENDENCY_MISSING`, and `FAILURE` + +By default, all three of the above are monitored and notified on. If, `SUCCESS` event is monitored and +all tasks succeed then the notification text is "Job ran successfully" instead of listing _all_ +successful tasks. + +```python +import luigi +from luigi_monitor import monitor + +... + +if __name__ == "__main__": + with monitor(slack_url=<your_slack_url>, events=['DEPENDENCY_MISSING', 'FAILURE']): + luigi.run(main_task_cls=MainClass) +``` + +Alternatively: + +`luigi-monitor --module path.to.module TaskName` + +NB: if you plan to use luigi-monitor from the command line, set options using `luigi.cfg`: +``` +[luigi-monitor] +slack_url=<slack_hook> +max_print=<int> +username=<string> +``` + + +This is a work in progress. Particularly, note that: + +* It only sends notifications via Slack + + + +%prep +%autosetup -n luigi-monitor-1.1.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-luigi-monitor -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.4-1 +- Package Spec generated |