0

あなたからの提案が必要です。私はジョブrssフィードを使用してデータベースにジョブを入力しているワードプレスサイトを持っています。rssフィードジョブのURLには常にアクティブなジョブが含まれています。

常にアクティブなジョブが表示されるようにデータベースを更新するにはどうすればよいですか?このようなことをする必要がありますか?

1.データベースからジョブのURLを取得し、200または302のステータスコードが返されるかどうかを確認する必要があります

2.フィードURLからジョブIDを取得し、dbで確認します。IDがすでに存在する場合は、それらのIDをフラグ1(アクティブなジョブ)で更新し、残りのIDを-1(非アクティブなジョブ)で更新します。それ以外の場合は、新しいエントリを追加します。

私にお知らせください。

ありがとう。

4

1 に答える 1

0

ジョブ更新フィードが継続的に更新されていない限り、RSSをフェッチしてデータベースを更新するためのバックグラウンドプロセス(つまり、cronjob)を設定する可能性があります(上記のオプション2で提案したように)。目的に応じて、cronをできるだけ頻繁に実行するように設定できます。

オプション#1は、DB内のすべてのアイテムに対して、大量のcURL呼び出しなどを行う必要があるため、適切な選択ではないように思われます。

オプション#2では、RSSを取得するための単一のcURL呼び出しが可能になります。次に、XMLからIDのセットを抽出します。次に、データベースのトランザクションを利用して、最初にすべてのレコードをアクティブ= -1に更新し、次に一致するレコードをアクティブ= 1に更新します。これはもちろん、データベースに多数のジョブレコードがないことを前提としています。その場合、すべてのレコードに触れないように、更新の最適化を検討することをお勧めします。

于 2013-03-25T16:25:54.880 に答える