Webサイトの製作業をメインにしています。
また、自作ツール[ASSystem]の販売も行っております。
その他Webサービスの運営と、Webに関する幅広い業務を行っています。
また、自作ツール[ASSystem]の販売も行っております。
その他Webサービスの運営と、Webに関する幅広い業務を行っています。
×
固定報酬制
|
ワーカーと相談する
|
---|---|
納品完了日
|
2015年12月06日 |
掲載日
|
2015年12月02日 |
応募期限
|
2015年12月06日 |
必要なスキル
|
応募した人 | 4 人 |
---|---|
契約した人 | 0 人 |
募集人数 | |
気になる!リスト | 3 人 |
PHPで書かれた、WPに自動で記事を投稿するスクレイピングシステムの修正をお願いしたいです。 具体的には、cronでシステムを起動した再に、記事が重複投稿されてしまいます。 通常は「システム起動時にシステムファイル自体をロックして」重複起動が出来ないようにしているのですが、cronだとそれが ききません。 $fp = fopen(__FILE__, 'rb'); flock($fp, LOCK_EX | LOCK_NB) || http_response_code(500) && $scrapingLook = true; if($scrapingLook === true){ echo "<p>現在他にスクレイピング処理が動いています。<br>何かの間違い(スクレイピングするボタンを連続でクリックしたなど)で2重にこのページを開いてしまったか、あるいは同じタイミングでcronが自動実行している可能性があります。<br>しばらくたってからもう一度お試しください。<br>このメッセージで特に不具合がでることはありませんのでご安心ください。</p>"; }else{ //スクレイピング処理開始 } これで、例えば2つのタブでそれぞれ起動したときには後から開いたタブではエラー分が出て処理がとまるようになっています。 それがcronで「5分おきに」起動させると、多重起動してしまい、重複投稿されます。 これを、多重起動しないようにしてほしいのです。 重複チェック自体はWPの「get_page_by_title('記事タイトル名',ARRAY_N,'post')」という関数を使ってチェックしています。 なので多重機動さえ防げれば問題ないと思っています。 ロックファイルを使う方法が簡単なのですが、このシステムがまれに実行時に落ちてしまうことがあり、その場合ロックファイルが残ったままになってしまいます。 なのでロックファイルを使った方法はNGです。 もしくはシステムを軽量化(高速化)して落ちないようにしていただき、ロックファイル式にする提案が出来る方がいればそれでもOKです。 また、修正後は「どこを動修正したのか」教えてくれると助かります。 当方フロントエンドエンジニアなのでPHPについては若干の知識はあります。 予算と納期、あと経験等をご連絡ください。 その他ご不明な点などあればお気軽にご連絡ください。 ※お支払い前に答えを送ってこないでください。かならずコチラがお支払いしてから答えを教えてください。 ※当方のシステムは依頼後に破棄してください。 |