本文整理汇总了Python中apscheduler.job.Job.get_run_times方法的典型用法代码示例。如果您正苦于以下问题:Python Job.get_run_times方法的具体用法?Python Job.get_run_times怎么用?Python Job.get_run_times使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类apscheduler.job.Job
的用法示例。
在下文中一共展示了Job.get_run_times方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestJob
# 需要导入模块: from apscheduler.job import Job [as 别名]
# 或者: from apscheduler.job.Job import get_run_times [as 别名]
class TestJob(object):
RUNTIME = datetime(2010, 12, 13, 0, 8, 0)
def setup(self):
self.trigger = SimpleTrigger(self.RUNTIME)
self.job = Job(self.trigger, dummyfunc, [], {}, 1, False)
def test_compute_next_run_time(self):
self.job.compute_next_run_time(self.RUNTIME - timedelta(microseconds=1))
eq_(self.job.next_run_time, self.RUNTIME)
self.job.compute_next_run_time(self.RUNTIME)
eq_(self.job.next_run_time, self.RUNTIME)
self.job.compute_next_run_time(self.RUNTIME + timedelta(microseconds=1))
eq_(self.job.next_run_time, None)
def test_compute_run_times(self):
expected_times = [self.RUNTIME + timedelta(seconds=1),
self.RUNTIME + timedelta(seconds=2)]
self.job.trigger = IntervalTrigger(timedelta(seconds=1), self.RUNTIME)
self.job.compute_next_run_time(expected_times[0])
eq_(self.job.next_run_time, expected_times[0])
run_times = self.job.get_run_times(self.RUNTIME)
eq_(run_times, [])
run_times = self.job.get_run_times(expected_times[0])
eq_(run_times, [expected_times[0]])
run_times = self.job.get_run_times(expected_times[1])
eq_(run_times, expected_times)
def test_max_runs(self):
self.job.max_runs = 1
self.job.runs += 1
self.job.compute_next_run_time(self.RUNTIME)
eq_(self.job.next_run_time, None)
def test_eq_num(self):
# Just increasing coverage here
assert not self.job == 'dummyfunc'
def test_getstate(self):
state = self.job.__getstate__()
eq_(state, dict(trigger=self.trigger,
func_ref='testjob:dummyfunc',
name='dummyfunc', args=[],
kwargs={}, misfire_grace_time=1,
coalesce=False, max_runs=None,
max_instances=1, runs=0))
def test_setstate(self):
trigger = SimpleTrigger('2010-12-14 13:05:00')
state = dict(trigger=trigger, name='testjob.dummyfunc',
func_ref='testjob:dummyfunc',
args=[], kwargs={}, misfire_grace_time=2, max_runs=2,
coalesce=True, max_instances=2, runs=1)
self.job.__setstate__(state)
eq_(self.job.trigger, trigger)
eq_(self.job.func, dummyfunc)
eq_(self.job.max_runs, 2)
eq_(self.job.coalesce, True)
eq_(self.job.max_instances, 2)
eq_(self.job.runs, 1)
assert not hasattr(self.job, 'func_ref')
assert isinstance(self.job._lock, lock_type)
def test_jobs_equal(self):
assert self.job == self.job
job2 = Job(SimpleTrigger(self.RUNTIME), lambda: None, [], {}, 1, False)
assert self.job != job2
job2.id = self.job.id = 123
eq_(self.job, job2)
assert self.job != 'bleh'
def test_instances(self):
self.job.max_instances = 2
eq_(self.job.instances, 0)
self.job.add_instance()
eq_(self.job.instances, 1)
self.job.add_instance()
eq_(self.job.instances, 2)
assert_raises(MaxInstancesReachedError, self.job.add_instance)
self.job.remove_instance()
eq_(self.job.instances, 1)
self.job.remove_instance()
eq_(self.job.instances, 0)
assert_raises(AssertionError, self.job.remove_instance)
def test_repr(self):
#.........这里部分代码省略.........
示例2: HotQueue
# 需要导入模块: from apscheduler.job import Job [as 别名]
# 或者: from apscheduler.job.Job import get_run_times [as 别名]
from apscheduler.jobstores.sqlalchemy_store import SQLAlchemyJobStore
from dateutil.tz import gettz
from datetime import datetime, timedelta
from apscheduler.triggers import IntervalTrigger, DateTrigger
from apscheduler.scripts import HttpScript, CommandScript
if __name__ == '__main__':
queue = HotQueue('job_changes')
script = HttpScript(url='http://baidu.comm')
store = SQLAlchemyJobStore(url='sqlite:////tmp/task.db', tablename='tasks')
#script = CommandScript(command='ping -c 3 www.baidu.com')
local_tz = gettz('Asia/Chongqing')
defaults = {'timezone': local_tz}
trigger = IntervalTrigger(defaults, seconds=60)
#trigger = DateTrigger(defaults, run_date=datetime(2013,12,11, 8, 11))
job = Job(name=u'BaiduCurlWithWrongUrl', script=script, trigger=trigger)
#print job.run()
now = datetime.now(local_tz)
next_run_time = job.compute_next_run_time(now)
print job.get_run_times(now+timedelta(seconds=60))
if next_run_time:
print "add job"
print job
store.add_job(job)
queue.put({'opt_type':'add', 'job_id':job.id})