gpt4 book ai didi

python - 为什么手动激活的程序可以很好地工作,但使用 crontab、mysql 和 python 作为守护进程却不能?

转载 作者:行者123 更新时间:2023-11-29 15:26:30 24 4
gpt4 key购买 nike

我们有这段代码,其目的只是在 MySQLWorkbench 的数据库中发布:

import pymysql.cursors
import os, time
import datetime

#Conexion a la base de datos
conn = pymysql.connect(‘example.example.us-west-2.rds.amazonaws.com', user= ‘xxxx', port= xxxx, passwd = ‘xxxxx', db=‘xxxx')

def query():
fecha = (str) (datetime.datetime.now())
nfecha = fecha.split(' ')
dia = nfecha[0]
hora = nfecha[1]
tabla='notificaciones'
idcliente='1'
notificacion='hola'
tipo='saludo'
with conn.cursor() as cursor:
cursor.execute('insert into notificaciones(idcliente, notificacion, tipo, fecha, hora) values(%s, %s, %s, %s, %s)', (idcliente, notificacion, tipo, dia, hora))
conn.commit()

print('success')


def main():
query()

main()

当在控制台中手动执行时,代码运行得很好,但是,当我们想使用 crontab 将其设置为守护进程时,它不会执行任何操作。

在 crontab 中尝试了这种方式:

sudo su
crontab -e
@reboot sudo python /home/pi/Desktop/DataBase.py

我已经尝试从另一个程序调用它并且已经作为一个单独的程序调用它。根本不起作用。

帮助。

最佳答案

sudo 不在 crontab 命令内运行。它通常需要配置显式的 tty 或 visudo 异常。

如果您确实需要 sudo 权限,请在 root 用户下配置此 crontab(不带 sudo),您似乎已经在这样做了。仅此而已。

sudo su
crontab -e
@reboot python /home/pi/Desktop/DataBase.py

关于python - 为什么手动激活的程序可以很好地工作,但使用 crontab、mysql 和 python 作为守护进程却不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com