在我问之前,Cron Jobs和Task Scheduler将是我的最后选择,这个脚本将在Windows和Linux之间使用,我更愿意使用编码方法来完成此操作,而不是将其留给最终用户完成.
是否有可用于安排任务的Python库?我需要每小时运行一次函数,但是,如果我每小时运行一次脚本并使用.sleep,"每小时一次"将在前一天的不同时间运行,因为延迟执行/运行脚本和/或功能所固有的.
在不使用Cron作业或使用任务计划程序进行计划的情况下,安排函数在一天中的特定时间(不止一次)运行的最佳方法是什么?
或者,如果这是不可能的,我也希望你的意见.
import datetime
import time
from apscheduler.scheduler import Scheduler
# Start the scheduler
sched = Scheduler()
sched.daemonic = False
sched.start()
def job_function():
print("Hello World")
print(datetime.datetime.now())
time.sleep(20)
# Schedules job_function to be run once each minute
sched.add_cron_job(job_function, minute='0-59')
Run Code Online (Sandbox Code Playgroud)
出:
>Hello World
>2014-03-28 09:44:00.016.492
>Hello World
>2014-03-28 09:45:00.0.14110
Run Code Online (Sandbox Code Playgroud)
(来自Animesh Pandey的答案如下)
from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()
@sched.scheduled_job('interval', seconds=10)
def timed_job():
print('This job is run every …Run Code Online (Sandbox Code Playgroud) 在Linux中,假设线程的pid是[pid],从目录/ proc/[pid]我们可以获得许多有用的信息.例如,这些proc文件,/ proc/[pid]/status,/ proc/[pid]/stat和/ proc/[pid]/schedstat都很有用.但是,如何获取运行线程的CPU核心编号?如果一个线程处于睡眠状态,我怎么知道它再次被调度后会运行哪个核心?
BTW,有没有办法为每个CPU核心转储运行和休眠任务的进程(线程)列表?
如何创建计划任务以运行PHP文件?
是的,我填写了计划任务中的所有内容,但仍然无效.
运行:"C:\ Program Files\Apache Software Foundation\Apache2.2\htdocs\WEB\4w_website\save.php"
开始于:"C:\ Program Files\Apache Software Foundation\Apache2.2\htdocs\WEB\4w_website"
它只是在记事本中打开PHP文件.
我给了正确的用户名和密码.
请帮我..
我有一个python脚本,我想定期运行.我正在运行Windows 7.实现这一目标的最佳方法是什么?最简单的方法?
假设你有一个气流DAG是没有意义回填,这意味着,它的运行一次后,运行它随后的时间很快就完全没有意义的.
例如,如果您从一些仅每小时更新一次的数据库加载数据到数据库中,那么快速连续发生的回填只会一次又一次地导入相同的数据.
当您实例化一个新的每小时任务时,这尤其令人讨厌,并且它会在N您指定的时间间隔内开始运行之前,每小时都会错过一次,执行冗余工作.
我能想到的唯一解决方案是他们在文档的常见问题解答中特别建议的
我们建议不要将动态值用作start_date,尤其是
datetime.now()因为它可能非常混乱.
有没有办法禁用DAG的回填,或者我应该怎么做?
选择空闲任务(也称为交换器任务),以便在任务调度点处的运行队列中不再有可运行的任务时运行.但这项特殊任务的用途是什么?另一个问题是为什么我无法在用户区的"ps aux"输出(PID = 0)中找到此线程/进程?
我的网站上有一个网站我想运行一些预定的任务.你会推荐哪些方法来达到这个目的?
到目前为止我已经想到的是在每个页面的顶部都包含一个脚本,然后让这个脚本检查是否是时候运行这个工作了.
这只是我想到的一个简单示例:
if ($alreadyDone == 0 && time() > $timeToRunMaintainance) {
runTask();
$timeToRunMaintainance = time() + $interval;
}
Run Code Online (Sandbox Code Playgroud)
还有什么我应该考虑的还是有比这更好的方法?
我正在编写一个每10分钟录制一次音频的Android应用程序.我正在使用Timer来做到这一点.但是schedule和scheduleAtFixedRate有什么区别?使用一个比另一个有任何性能优势吗?
我有Windows 2008任务调度程序我设置了一个像这样运行的PHP脚本
C:\ php\php.exe -f等...
在Windows任务计划程序中,我只能每天或每小时安排如何将其配置为每4小时运行一次?
我们在Tomcat 6上有一个Spring 3 Web应用程序,它通过多个预定服务@Scheduled(主要用于每晚运行的作业).现在似乎有时(很少,也许在两个月左右)调度程序线程停止工作,因此在第二天晚上不会执行任何作业.我们的日志文件中没有异常或日志记录条目.
有人知道为什么会这样吗?或者如何获得有关此问题的更多信息?
有没有办法在应用程序中检测这种情况并重新启动调度程序?
目前,我们通过每5分钟运行一次日志记录作业并创建日志条目来解决此问题.如果日志文件停止更新(由nagios监视),我们知道是时候重启tomcat了.在没有完全重启服务器的情况下重启作业会很不错.
scheduled-tasks ×10
python ×3
windows ×3
cron ×2
java ×2
linux ×2
linux-kernel ×2
php ×2
scheduling ×2
airflow ×1
android ×1
cron-task ×1
python-3.x ×1
scheduler ×1
spring ×1
timer ×1
tomcat ×1