2017-04-17 26 views
0

私はmysqlデータベースにapschedulerのすべてのジョブを保存する必要があるので、apschedulerは5分ごとに新しいジョブがあるかどうかをチェックし、開始するか、またはdbからジョブが削除された場合は削除する必要があります。問題は、私は理解できません、どのようにジョブを保存する方が良いでしょう(例えば、いくつかのジョブはcronであり、あるものはインターバルトリガかもしれないので、異なる時間設定を持つでしょう)。私が理解したように、apschedulerはジョブストアにジョブを格納することをサポートしており、SQLAlchemyJobStoreを持っています。どのドキュメントでも、apschedulerがそのジョブをdbに格納する例のみがあります。しかし、私はそれが私のDBから仕事をつかむために必要です。 問題は、データベースにジョブを格納する方法があるため、apschedulerが簡単にそれらを取得し、job_name、trigger、start_dateなどのテーブルに20列を作成する必要はありませんか?APSchedulerのジョブをMySQLデータベースに保存するには?

+1

あなたの質問には、これにどのような問題があるか説明されていません。ストアにデータベースへのURLを与えることで、すでに自分のデータベースを使用しています。あなたは "どのようにDBにジョブを格納する"と尋ねる、それはすべてSQLAlchemyJobStoreについてです!そしてそれは約20列ですか? SQLAlchemyJobStoreはテーブルに3つのカラムしか使用しません。 –

+0

@AlexGrönholm私はapschedulerの外のデータベースにジョブを追加する必要があります。そして、私のスクリプトはこれらのジョブをapschedulerに追加する必要があります。 – mrser

+0

そして、APSchedulerはいつ睡眠から目を覚まして確認するのでしょうか? –

答えて

2

手動でテーブルに行を挿入するのではなく、一部のRPCサービスでスケジューラを使用できるようにすることを検討する必要があります。この例はhereです。これは、実装の詳細を抽象化して、もう少し将来の証明です。

関連する問題