0

ユーザーがツイートをスケジュールするサービスに取り組んでいるので、たとえば、明日の午後 12 時 30 分にツイートを投稿したいとします。どうすればそれができますか?cron ジョブはそうするための最良の方法ですか? 5 分ごとに cronjob を実行して、この間隔で投稿するツイートがあるかどうかを確認します。代替手段はありますか?

4

1 に答える 1

2

cron ジョブを実行することは間違いなく最も簡単な解決策ですが、他にも利用可能な方法があります。そのような方法の 1 つは、 Amazon のSQSのようなキューを使用することです。

これにより、後で処理するために物事を単純にキューに投げることができます。デフォルトでは、すぐに処理できる状態ですぐにキューに追加されますが、休止状態のままにしておく必要があるタイムスタンプを使用してアイテムをキューに追加できます。これは、ユーザーがあらかじめ定義したツイート時間です。

次に、キュー アイテムが利用可能になるとすぐに、送信する必要がある新しいツイートのキューを常にリッスンするスクリプトを実行することができます。

これの欠点はもちろん、より多くの労力がかかることですが、利点は、ツイートを処理する複数のマシンを持つことができ、同じツイートを 2 回送信することがないため、簡単にスケーリングできることです (2 つのマシンが同じ cron を実行している場合、両方がツイートを送信する可能性があります)

于 2013-04-22T07:13:51.960 に答える