私はユーザーが複数の異なるブログを作成できるようにする単一のdjangoアプリケーションを持っています。各ブログは、モデルデータ(例えば、訪問数、クリック数など)を毎時/毎日/毎週など収集しなければならず、データが収集される間隔はブログ間で異なる場合がある。さらに、ある時点で、ユーザはデータ収集の頻度を変更したい場合がある。毎週から毎日にかけてユーザーインターフェース上に表示されます。不規則な間隔のスケジューラとしてセロリのビートを使用していますか?
公式の文書からPeriodic Tasksを見ると、設定ファイルに間隔値を 'ハードコード'する必要があり、間隔を1回だけ指定することができます。
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
# Executes every Monday morning at 7:30 A.M
'add-every-monday-morning': {
'task': 'tasks.add',
'schedule': crontab(hour=7, minute=30, day_of_week=1),
'args': (16, 16),
},
}
は、どのように私はこれについて行くか、またはセロリは異なる間隔で同じ種類の複数のタスクをスケジュールし、(AJAX経由)ユーザインタフェースを介して値を変更することさえ可能ですか?
とビート・プロセスを開始します。 [セロリのドキュメント](http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#using-custom-scheduler-classes) – devxplorer
「データ収集の頻度を変える」ワウはクールです。私はhttps://github.com/rajasimon/beatserverにこの機能を書いています –
@devxplorer私は['django-celery-beat'](https://pypi.python.org/pypi/django_celery_beat)が出てきています'django-celery'に置き換えて(これが当てはまらない場合は教えてください)。私が今直面している問題は、新しいPeriodicTasksを追加すると、ビートプロセスを再開するまで実行されないということです( 'セラーリー-Aプロビート-l info -S django')。 – FatHippo