运行 具有 python 包 entry_point 名称的 cron 任务
Run cron task with python package entry_point name
有什么方法可以 运行 具有 python 包名称(在 entry_point 中指定)的 cron 任务吗?
setup.py
从设置工具导入设置
from setuptools import setup
setup(
name='myapp-cli',
(..blah..)
packages=[
'myapp_cli'
],
install_requires=['configparser', 'requests'],
entry_points={
'console_scripts': [
'myapp= myapp_cli.main:cli'
]
},
zip_safe=True
)
它适用于 shell:
myapp do_stuff
我想在 cron 任务中按名称 运行 应用程序,如下所示:
* * * * * /something_here? myapp do_stuff >> myapp.log 2>&1
我不知道 python 包 entry_point 是如何工作的以及如何在 cron 中使用它。可能吗?
这不是 Python 问题,而是 linux / shell。
修复它的最简单方法可能是为 Python 和您的脚本使用绝对路径。
假设您的入口点位于 /usr/sbin/myapp
(您应该通过 which myapp
找到它)
* * * * * /usr/bin/env python /usr/sbin/myapp do_stuff >> myapp.log 2>&1
有什么方法可以 运行 具有 python 包名称(在 entry_point 中指定)的 cron 任务吗?
setup.py
从设置工具导入设置
from setuptools import setup
setup(
name='myapp-cli',
(..blah..)
packages=[
'myapp_cli'
],
install_requires=['configparser', 'requests'],
entry_points={
'console_scripts': [
'myapp= myapp_cli.main:cli'
]
},
zip_safe=True
)
它适用于 shell:
myapp do_stuff
我想在 cron 任务中按名称 运行 应用程序,如下所示:
* * * * * /something_here? myapp do_stuff >> myapp.log 2>&1
我不知道 python 包 entry_point 是如何工作的以及如何在 cron 中使用它。可能吗?
这不是 Python 问题,而是 linux / shell。
修复它的最简单方法可能是为 Python 和您的脚本使用绝对路径。
假设您的入口点位于 /usr/sbin/myapp
(您应该通过 which myapp
找到它)
* * * * * /usr/bin/env python /usr/sbin/myapp do_stuff >> myapp.log 2>&1