Bump APScheduler to >=3.0
This patch upgrades nodepool to support APScheduler 3.0. For the most part, 3.0 was a rewrite but our changes seem to be limited. This is part of the effort to packaged our CI tools for fedora rawhide. Change-Id: Ia39dca8327cbc89c6bfe707a82a41afe03f52ffa Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
de4a31873c
commit
37cdfdd43b
|
@ -16,7 +16,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import apscheduler.scheduler
|
||||
import apscheduler.schedulers.background
|
||||
import apscheduler.triggers.cron
|
||||
import gear
|
||||
import json
|
||||
import logging
|
||||
|
@ -1109,7 +1110,7 @@ class NodePool(threading.Thread):
|
|||
z.listener.join()
|
||||
if self.zmq_context:
|
||||
self.zmq_context.destroy()
|
||||
if self.apsched:
|
||||
if self.apsched and self.apsched.running:
|
||||
self.apsched.shutdown()
|
||||
|
||||
def waitForBuiltImages(self):
|
||||
|
@ -1179,27 +1180,25 @@ class NodePool(threading.Thread):
|
|||
}
|
||||
|
||||
if not self.apsched:
|
||||
self.apsched = apscheduler.scheduler.Scheduler()
|
||||
self.apsched = apscheduler.schedulers.background.BackgroundScheduler()
|
||||
self.apsched.start()
|
||||
|
||||
for c in config.crons.values():
|
||||
if ((not self.config) or
|
||||
c.timespec != self.config.crons[c.name].timespec):
|
||||
if self.config and self.config.crons[c.name].job:
|
||||
self.apsched.unschedule_job(self.config.crons[c.name].job)
|
||||
self.config.crons[c.name].job.remove()
|
||||
parts = c.timespec.split()
|
||||
if len(parts) > 5:
|
||||
second = parts[5]
|
||||
else:
|
||||
second = None
|
||||
minute, hour, dom, month, dow = parts[:5]
|
||||
c.job = self.apsched.add_cron_job(
|
||||
cron_map[c.name],
|
||||
day=dom,
|
||||
day_of_week=dow,
|
||||
hour=hour,
|
||||
minute=minute,
|
||||
trigger = apscheduler.triggers.cron.CronTrigger(
|
||||
day=dom, day_of_week=dow, hour=hour, minute=minute,
|
||||
second=second)
|
||||
c.job = self.apsched.add_job(
|
||||
cron_map[c.name], trigger=trigger)
|
||||
else:
|
||||
c.job = self.config.crons[c.name].job
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ paramiko>1.11.6
|
|||
python-daemon>=2.0.4,<2.1.0
|
||||
extras
|
||||
statsd>=3.0
|
||||
apscheduler>=2.1.1,<3.0
|
||||
apscheduler>=3.0
|
||||
sqlalchemy>=0.8.2,<1.1.0
|
||||
pyzmq>=13.1.0
|
||||
python-novaclient>=2.21.0
|
||||
|
|
Loading…
Reference in New Issue