4

私は APScheduler を使用しており、コードを実行しようとすると、「'interval' という名前のトリガーが見つかりませんでした」というエラーが表示されます。

ローカル マシンでは完璧でしたが、クラウド マシンでも動作します。

私は試しました:pip、easy_install、および手動でapschedulerを再インストールします。setuptools のアップグレード; すべての依存関係をアップグレードします。

編集:コード

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
4

6 に答える 6

5

この問題は、setuptools の古いバージョンが原因で発生します。https://bitbucket.org/agronholm/apscheduler/issues/77/lookuperror-no-trigger-by-the-nameを参照してください

sudo pip install --upgrade setuptoolsこれは、apscheduler を実行して再インストールすることで解決できます。sudo pip install --ignore-installed apscheduler

于 2015-10-28T16:05:40.477 に答える
2

私は別のサーバーで ipython で作業していました。setuptools と APScheduler をアンインストール/アップグレードしてみました。次に、2 番目のサーバーで作成した新しいノートブックに、既に持っていたのとまったく同じコードをコピーして貼り付けました。

そしてそれはうまくいきました。

于 2015-02-24T15:28:54.920 に答える
0

私のように virtualenv 1.11.6 を使用している場合は、12.0.7 にアップグレードするとこの問題が解決するはずです。このスレッドhttps://bitbucket.org/agronholm/apscheduler/issue/77/lookuperror-no-trigger-by-the-nameによると、setuptools もアップグレードする必要がある場合があります。

于 2015-03-02T08:08:50.327 に答える