问题描述
我有一个烧瓶应用程序,该应用程序具有以下包含app.py
的{{1}}文件:
flask_apscheduler
现在,我想使用from flask_apscheduler import APScheduler
app = Flask(__name__)
scheduler = APScheduler()
app.config['sqlALCHEMY_DATABASE_URI'] = 'postgresql://postgres:postgres@localhost/mydb'
db = sqlAlchemy(app)
#my sqlAlchemy models:
class RiskCountry(db.Model):
id = ...
@app.route('/')
def dataToDb():
#scrape data from website and update database
...
if __name__ == '__main__':
scheduler.add_job(id = 'test',func = dataToDb,trigger = 'interval',minutes = 60)
scheduler.start()
app.run()
将此脚本作为服务运行。我在systemd
中创建了以下myservice.service
文件:
/etc/systemd/system
现在我进入控制台并完成
[Unit]
Description=scraping data and push to DB
After=network.target network-online.target
Requires=network-online.target
[Service]
ExecStart="/home/geolic/my-app/env/bin/python /home/geolic/my-app/app.py"
Restart=always
WorkingDirectory=/home/geolic/my-app
User=root
Group=root
[Install]
WantedBy=multi-user.target
已加载:已加载(/etc/systemd/system/myservice.service;已启用;供应商预设:已禁用)
活动:自CEST 2020-08-19 07:50:57 CEST起失败(结果:开始限制); 6秒前进程:21863
ExecStart = / home / geolic / my-app / env / bin / python /home/geolic/my-app/app.py(代码=已退出,状态= 203 / EXEC)
主PID:21863(代码=已退出,状态= 203 / EXEC)
我在做什么错了?
编辑
好。我发现$ systemctl enable myservice
$ systemctl daemon-reload
$ systemctl start myservice
$ systemctl status myservice -l
无法执行systemd
中使用的文件。但是,在我的控制台中运行该语句时,它应能正常工作...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)