I've been working with APScheduler and when attempting to run the code I get the error "No trigger by the name 'interval' was found"
It was perfectly on my local machine but will work on my cloud machine.
I have tried: reinstalling apscheduler via pip, easy_install, and manually; upgrading setuptools; upgrading all dependencies.
Edit: Code
if __name__ == '__main__':
scheduler = BlockingScheduler()
scheduler.add_job(SMS, 'interval', minutes=1)
scheduler.start()
print Run Complete
try:
# This is here to simulate application activity (which keeps the main thread alive).
while True:
time.sleep(2)
except (KeyboardInterrupt, SystemExit):
scheduler.shutdown() # Not strictly necessary if daemonic mode is enabled but should be done if possible
LookupError Traceback (most recent call last)
<ipython-input-40-2895cd586d3f> in <module>()
1 if __name__ == '__main__':
2 scheduler = BlockingScheduler()
----> 3 scheduler.add_job(SMS, 'interval', hours=1)
4 scheduler.start()
5 print "Run Complete"
/Users/admin/anaconda/lib/python2.7/site-packages/apscheduler/schedulers/base.pyc in add_job(self, func, trigger, args, kwargs, id, name, misfire_grace_time, coalesce, max_instances, next_run_time, jobstore, executor, replace_existing, **trigger_args)
328
329 job_kwargs = {
--> 330 'trigger': self._create_trigger(trigger, trigger_args),
331 'executor': executor,
332 'func': func,
/Users/admin/anaconda/lib/python2.7/site-packages/apscheduler/schedulers/base.pyc in _create_trigger(self, trigger, trigger_args)
780
781 # Instantiate the trigger class
--> 782 return self._create_plugin_instance('trigger', trigger, trigger_args)
783
784 def _create_lock(self):
/Users/admin/anaconda/lib/python2.7/site-packages/apscheduler/schedulers/base.pyc in _create_plugin_instance(self, type_, alias, constructor_kwargs)
764 raise TypeError('The {0} entry point does not point to a {0} class'.format(type_))
765 else:
--> 766 raise LookupError('No {0} by the name "{1}" was found'.format(type_, alias))
767
768 return plugin_cls(**constructor_kwargs)
LookupError: No trigger by the name "interval" was found
This issue is caused by an old version of setuptools. See https://bitbucket.org/agronholm/apscheduler/issues/77/lookuperror-no-trigger-by-the-name
You can solve this by running sudo pip install --upgrade setuptools
and reinstallation of apscheduler with sudo pip install --ignore-installed apscheduler
The other answers point to environmental causes, but it might also be how you're using APScheudler.
Otherwise, verify that the APScheduler class (scheduler/trigger/jobstore/job) is instantiated correctly
LookupError
is likely thrown by the BaseScheduler
as it tries to access the scheduler's triggers, jobstores, and executors. As of version 3.6.3, that's in the _create_plugin_instance()
method of base.py
It'd also be good to verify that your file doesn't use the same name as the APScheduler library
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With