レート制限と自動リトライ
2syncがNotion、Google、Microsoftからのレート制限をどのように処理するか
2syncはすべての同期サイクルで外部API(Notion、Google、Microsoft、Todoist)と通信します。これらのAPIは過負荷を防ぐためにレート制限を設けています。2syncはリトライとバックオフで自動的にレート制限を処理するため、手動介入なしにデータが確実に同期されます。
レート制限とは?
レート制限は、APIプロバイダーが特定の時間内にアプリが行えるリクエスト数に対して設定する制限です。2syncがレート制限に達すると、APIは制限がリセットされるまで以降のリクエストを一時的に拒否します。
各プロバイダーの制限は異なります:
| プロバイダー | 動作 |
|---|---|
| Notion | 連携ごとの秒単位のリクエスト制限 |
| カレンダー、タスク、コンタクト、Gmailにわたるユーザーごとのクォータ制限 | |
| Microsoft | Outlookサービスにわたるアプリごとおよびユーザーごとの制限 |
| Todoist | 分単位のユーザーごとのリクエスト制限 |
2syncはレート制限をどのように処理しますか?
2syncはすべてのリトライに指数バックオフを使用します。レート制限に達すると:
- 影響を受けたAPIに対する同期を一時停止
- リトライまでの間隔を段階的に増加(1秒、2秒、4秒、8秒等)
- APIがリクエストを受け付けるまでリトライを継続
- 一時停止した場所から同期を再開
このプロセス全体は透過的です。何もクリックしたりオートメーションを再起動したりする必要はありません。
レート制限はエラーではありません。高ボリューム操作中の通常のAPI動作です。2syncはこれらの制限内で自動的に動作するよう設計されています。
レート制限のトリガーは何ですか?
レート制限は以下の場合に発生しやすくなります:
- 大規模なデータベースの初期同期(数百または数千のアイテム)
- 多くのアイテムに一度に適用される一括変更
- 同じプロバイダーを同時に同期する複数のオートメーション
- 同じAPIクォータを使用する他のアプリ
バッチ処理はどのように役立ちますか?
大規模な同期操作では、2syncはアイテムごとに1つのリクエストを送信するのではなく、変更をバッチにグループ化します。これにより総APIコール数が削減され、レート制限内での操作がより効果的になります。
バッチサイズはプロバイダーと現在のレート制限状態に基づいて動的に調整されます。
高ボリューム同期では何が予想されますか?
初期セットアップ中や長い一時停止後、2syncは数千のアイテムを処理する必要がある場合があります。この場合:
- 同期時間が通常のサイクルより長くなる可能性
- オートメーションステータスが長時間同期中と表示
- すべてのアイテムは最終的に同期され、手動介入は不要
オートメーションに「レート制限」エラーが表示された場合、現在の同期サイクルがAPI制限のため一時停止されたことを意味します。次のスケジュールされた同期は正常に進行します。データは失われません。
レート制限の影響を減らすには?
時間枠を狭める: 6か月のイベント同期は2年より少ないAPIコールで済みます。
フィルターを使う: 不要なアイテムを除外します。同期アイテムが少ないほどサイクルごとのAPIリクエストが少なくなります。
オートメーションを分散させる: 同じプロバイダーに複数のオートメーションを実行する場合、少しずらした同期タイミングで負荷を分散してください。
同期直前の一括変更を避ける: 数百のアイテムを変更した場合、更に変更する前に1サイクルの同期を完了させてください。
大規模な同期を初めて有効にする前に、ドライランを実行して変更数を見積もってください。初期同期にかかる時間やレート制限が影響するかを予測できます。詳細は高度な同期設定をご覧ください。
関連
- エラーコード:レート制限やその他のエラーステータスの解決
- 高度な同期設定:バッチ動作と同期タイミングの制御
- 同期の問題:遅いまたは停滞した同期のトラブルシューティング
- プランと価格:プランごとの同期頻度の違い
FAQ
2syncがレート制限に達した時、何かする必要がありますか?
いいえ。2syncは指数バックオフを使って自動的にレート制限を処理します。同期は短時間一時停止し、APIが許可したら再開します。手動操作は不要です。
レート制限でデータが失われますか?
いいえ。レート制限は一時的に同期を遅くするだけです。保留中のすべての変更はキューに入れられ、制限がリセットされたら処理されます。スキップや損失はありません。
最初の同期に時間がかかるのはなぜですか?
初期同期は設定された時間枠内のデータベース全体を処理します。これは数千のAPIコールを意味し、レート制限がトリガーされて複数のリトライサイクルが必要になる場合があります。以降の同期は変更のみを処理するためずっと高速です。
APIレート制限を増やせますか?
レート制限は2syncではなくAPIプロバイダー(Google、Microsoft、Notion)によって設定されます。2syncはこれらの制限内で動作し、影響を最小限にするようリクエストを最適化します。増加するための設定はありません。
Notionのレート制限の問題に直面しています。何ができますか?
Notionのレート制限はデータベースのサイズに依存します。頻繁に制限に達する場合、同期タイムフレームを狭めるかフィルターを追加して同期アイテム数を減らしてください。ほとんどの同期は自動リトライ後に成功しますが、非常に大きなデータベースでの持続的な問題はデータを複数のデータベースに分割する必要がある場合があります。