A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>指定した日時と、入力した日時の差分をとり、ミリ秒に変換してsleep関数で処理しようとおもいつきました。
Perlのsleepは「秒単位」です。
「引数に浮動小数点を与えられるように関数をオーバーライド」しない限り「1秒単位」です。
>この場合、設定可能な最大日数などがお分かりになる方はいらっしゃいますか?
「与える引数がオーバーフローしない限り、どんな値でも指定可」です。
しかし、引数の有効範囲は「実装によって異なる」ので、ある値を超えると「無限に待つ」と言う状態になるでしょう(引数なしのsleepと同じ処理をされてしまうと思われる)
>(2) (1)以外でいい方法はありますか?ちなみにサーバーはUNIXでサーバー設定の知識は0の初心者です。
「sleepで指定の時間まで待つ」ってのは「常識あるプログラマなら絶対にやらない」です。
普通は「スケジュールをキューに放り込む」って言う処理と「定期的にキューを監視して実行すべきスケジュールがあるか」って言う処理を走らせて「現在時刻がスケジュールに書かれた時間を過ぎていたら、スケジュールを実行済みとして消去しつつ、そのスケジュール通りのコマンドを実行する」って言う書き方をする。
なので「Perlからはスケジュールをキューに放り込む」って言う処理だけをする。そして「処理は即座に終わらせる」のが絶対条件。
下手にPrelの中でsleepなんかしようものなら、WEBデーモンがあっという間にリソースを使い潰して、システムダウンする。
処理が即座に終了しない場合、ブラウザで「F5連打」されると、連打した分のプロセスが生成されるから「暫くの間、ずっと処理が終わらない」なんてのが居た日には、F5キーを40連打くらい押せば、簡単にサーバーをダウンさせる事が出来ちゃうぞ。
だから「行ったら帰ってこない」って処理は、絶対にやっちゃ駄目。
書き込みありがとうございます。
F5連打でサーバーダウン・・・なるほど(笑)。ご指摘ありがとうございます。
>普通は「スケジュールをキューに放り込む」って言う処理と「定期的にキューを監視して実行すべきスケジュールがあるか」って言う処理を走らせて「現在時刻がスケジュールに書かれた時間を過ぎていたら、スケジュールを実行済みとして消去しつつ、そのスケジュール通りのコマンドを実行する」って言う書き方をする。
>
>なので「Perlからはスケジュールをキューに放り込む」って言う処理だけをする。そして「処理は即座に終わらせる」のが絶対条件。
すごい!こんなことができるんですね。
上記の処理の流れで進めるために、初心者でもわかりやすいサンプルとかありますか?「スケジュールをキューに放り込む」で検索してみたのですが、皆目見当もつきません。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別フォームから戻ったときのイ...
-
VB2008 SQL Server のDB名一覧
-
VB2005 DataGridView上でクリッ...
-
「Cancel = True」とはどういう...
-
Windowsで重い処理を実行したい
-
[Excel VBA 2003]マクロからツ...
-
Timer
-
別ページからのタブ切り替えの...
-
マウスオーバー時に効果音を鳴らす
-
デジタル時計の時刻合わせの方...
-
マイページはどこを開くの
-
スクリプトって、何ですか?ど...
-
ウインドウを毎回同じ位置、大...
-
Javascript_submit()完了後に処...
-
エクセルのシート上に別のシー...
-
[Java] Edgeでのアドレスバー非...
-
一定時間おきにアラームやポッ...
-
同じページをブラウザで複数開...
-
PDFを(htmlのように)無限に縦...
-
Excelでワードアートや図を常に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
別フォームから戻ったときのイ...
-
VB2005 DataGridView上でクリッ...
-
エクセル アプリケーションの...
-
[CGI]ブラウザを閉じた時の動作
-
C++での連続した左クリックの禁...
-
VBAでIEの「Web ページからのメ...
-
左シングルクリックと左ダブル...
-
Sleep関数の最大時間について
-
Perlの多重起動を禁止したい
-
excelのタスクバーアイコンが・...
-
Perlで数値(小数点、負の数、...
-
処理終了後のに砂時計が、クリ...
-
VB6.0のEnabledをfalseにしても...
-
javascriptの中で、perlのコマ...
-
別ページからのタブ切り替えの...
-
マウスオーバー時に効果音を鳴らす
-
VBAにてjavascriptを起動したい
-
Windowsで重い処理を実行したい
-
テータベースのページ処理
おすすめ情報