橋本技研ブログ売れるホームページ研究所、橋本技研の技術系備忘録ブログ。ショッピングカートシステムの制作などが得意です。ウェブサーバ運用とある案件で、DBに巨大なデータの書き込み(300万件越え)や更新を行わせる処理が必要でして、管理画面のボタンをポチッとすれば更新できるようにしたいのですが、あまりにも処理が重いため、タイムアウトして処理が止まってしまい困り果ててしまいました。そんな訳で、重い処理を別スレッドで走らせて、しかもタイムアウトさせない方法を考えてみましたよっと。要は重い処理をさせるプログラムを単独で用意し、そのスクリプトを別スレッドで走らせてやろうという作戦です。メインのスレッドから、以下のように呼び出してやります。&");「xxxx.php」が重い処理を担当するスクリプトです。ポイントは2つあります。「nohup」として、メインのスレッドが終了しても呼び出したプログラムを実行し続けるように指定します。&」を置いて返却値を捨てることで、外部スクリプトの終了を待たずメインのスクリプトを終了させます。重い処理を受け持つスクリプトには、念のために以下の一行を加えてPHPのタイムアウトを防止し(PHPがセーフモードで実行されている場合は効果なし)、さらに開始を通知するメールと、完了を通知するメールが送信されるようにして、バックグランドで走るスクリプトの状態を把握できるように組んでみました。set_time_limit(0);あ、共用のレンタルサーバーでこれやると、たぶん叱られると思いますので、自分が管理するサーバーだけでお使いくださいね。bagooon橋本たかし★ホームページの制作(デザイン・コーディング・プログラミング)に加え、ネットショップの販売促進に関するアドバイスも致します。20年以上に渡って実際にネットショップを運営した経験を生かし、聞きかじりではない実績を伴ったノウハウを、自分の言葉でお伝えいたします。プログラミングの経験は30年以上。PHP、Ruby、Perl、JavaScript、Vue、Nuxt.JS、MySQL、Elasticsearch、サーバー構築、Dockerなど、幅広く対応します。bagooon.comシェアするツイートフォローする@HashimotoSubaru関連記事iPhoneで、Dropboxのファイルを編集して、サーバーへFTPする方法Dropboxって本当に便利ですよね。最近、積極的にGitを使うようにしています。PrivateリポジトリからCloneする方法の備忘録です。認証鍵を使わないお手軽バージョ...記事を読むImageMagickでAIファイル(イラレ)をPNGに変換する方法イラレファイルを、ウェブサーバー上でPNG画像に変換できないかな~と思って調べたら、あっさり出来たのでメモ。EncryptのSSL/TLS証明書をインストールしてみましたので、その方法をシェアしておこうと思います。最近すっかりDockerにはまっています。現在、あるウェブサービスを開発中です。Encrypt(自動更新)+ベーシック認証で作ってみた最近、Dockerにはまっています。環境がサクッと整うし、汚さないしで最高です。コメントをキャンセルメールアドレスが公開されることはありません。サイトをVarnishを使って爆速化した話。Composeでお手軽に利用してみた。