如何使用cronjobs在云上的web服务器上运行python脚本?



我目前正在尝试创建一个不和谐机器人(与不和谐.py),能够通过搜索红迪网每隔几个小时,看看是否有任何新的东西,已张贴在一个特定的子红迪网。目前,我有一种方法来刮红迪网这个信息,但它是通过一个不和谐的命令激活。理想情况下,我希望脚本在一定时间间隔后自动运行,而不是通过命令激活。

我使用asyncpraw和discord.py为我的代码,所以它都是在Python。此外,我使用Flask为bot创建一个web服务器,然后使用Repl。它可以免费托管服务器。我还使用cron-job.org每五分钟向web服务器提交一个请求,以保持它的运行。

我有我的文件设置为main.py,其中包含所有信息的不和谐机器人,命令,和代码激活时,命令进入聊天,然后一个keep_alive.py文件,其中包含web服务器和线程的启动(我不是超级了解Flask,所以我不是超级清楚什么都做)。在main.py的末尾,在输入discord bot的令牌之前,我调用了keep_alive.py中的一个函数。

到目前为止,我已经尝试使用cron-job.org来设置一个cronjob,但是到目前为止它还没有工作,因为我不是很清楚如何去做。我也试过使用schedule.py或schedule.py,但都不起作用。

根据我的理解,我需要使用cronjob来实现我想要的功能,但是我想要一些关于实际实现它的指导,特别是关于文件的组织以及在哪里调用函数以激活它们。此外,我想知道是否有一种方法可以在Repl中使用cronjob。因为我不认为你可以在他们的控制台上使用它们。

如果您需要更多的信息或代码或其他任何东西,请告诉我!我感谢任何和所有的帮助!谢谢!

我不知道这是否对你有帮助,但是我能够在我的web服务器上自动化python脚本的方式是通过使用windows 2016服务器。

然后创建一个.bat文件,像这样运行脚本。只要确保你的文件位置设置正确。

python C:inetpubwwwroottop_10_week.py %*

然后使用windows任务调度程序安排脚本在特定时间后运行,我将我的设置为3小时,但我相信你可以每5分钟做一次。

https://www.windowscentral.com/how-create-automated-task-using-task-scheduler-windows-10

最新更新