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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# win10で、正確な待ち時間の作り方 6 2023/02/14 18:28
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- サーバー エックスサーバーに登録をしたのですが、 料金支払いをしたいのに、「発行された請求情報はありません。」 1 2023/03/10 22:22
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- WordPress(ワードプレス) 投稿した文書の編集ができません。 1 2022/04/23 23:15
- その他(コンピューター・テクノロジー) DHCPサーバーについて、、、。 職場のネットワーク環境で困っています。サーバーはWindows s 3 2023/01/04 10:15
- フリーソフト タスクソフト? 1 2023/01/14 07:52
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2005 DataGridView上でクリッ...
-
【C#】ラベルのダブルクリック...
-
エクセル アプリケーションの...
-
時間のかかる処理をレスポンス...
-
「Cancel = True」とはどういう...
-
ロック??
-
[CGI]ブラウザを閉じた時の動作
-
excelのタスクバーアイコンが・...
-
同一の検索値が複数存在する場...
-
左シングルクリックと左ダブル...
-
リンクをクリックしたのと同じ...
-
デジタル時計の時刻合わせの方...
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
エクセルVBAでフォームのListbo...
-
Javascript_submit()完了後に処...
-
一定時間おきにアラームやポッ...
-
VBの画面で、全ウィンドウを一...
-
スクリプトって、何ですか?ど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別フォームから戻ったときのイ...
-
「Cancel = True」とはどういう...
-
VB2005 DataGridView上でクリッ...
-
excelのタスクバーアイコンが・...
-
処理終了後のに砂時計が、クリ...
-
エクセル アプリケーションの...
-
リンクをクリックしたのと同じ...
-
C++での連続した左クリックの禁...
-
Perlで数値(小数点、負の数、...
-
VB6.0のEnabledをfalseにしても...
-
別ページからのタブ切り替えの...
-
VBAでIEの「Web ページからのメ...
-
フォームの値を取得できません...
-
Perlの多重起動を禁止したい
-
VB6にて、バックグラウンド処理...
-
マウスオーバー時に効果音を鳴らす
-
VC++2010 エディットボックスに...
-
C# マウスオーバーの記述方法
-
vba IE操作で こういう事って...
-
実行中のOSを知るには?
おすすめ情報