問題タブ [cfthread]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
batch-file - CFThread、CFExecute、および Plink でスクリプトを起動できない
ファイルをインポートするには、ネットワーク上でリモート スクリプトを実行する必要があります。plink をセットアップして、手動で実行すると必要に応じて機能するようにしました。
plink name@localserver -ssh -i myKey.ppk /home/here/scriptName.sh
コードは ColdFusion で記述しているため、これは CFExecute を使用して CFThread で実行されます。スクリプトを起動しないコードを介して実行すると、cfexecute はエラーになりません。
私の調査では、cfexecute には引数文字列に問題があり、バッチ ファイルを作成し、cfexecute を使用してバッチ ファイルを実行することをお勧めします。
バッチファイルを作成しました。import.bat
バッチファイルを手動で実行すると、動作します。
import.bat
しかし、cfexecute 経由で実行すると、何もしません。
cfexecute をテストするために、2 つのコマンドを実行しました。1 つ目は作業に必要なもので、2 つ目はテストです。2 つ目は必要に応じて機能します。最初のものは、画面またはログファイルにエラーが発生していません。間違った構文を入力した場合はそうでした。2 つ目は、必要に応じてファイルに書き込むことです。
(以下のコード)
どんな考えでも大歓迎です...
ありがとう、ブライアン
multithreading - アプリケーション スレッドごとの ColdFusion 制限
20 から 50 程度のスレッドを作成するスケジュールされたタスクがあります。私は ColdFusion を 20 個同時に実行するように設定していますが、DB の担当者から、DB に負荷をかけすぎているという反論を受けています。
ページでスレッド数を 5 つの同時実行スレッドに制限する方法があるかどうか疑問に思っています。または、グローバル設定を変更する必要がないように何かをしてください
コードの一部:
coldfusion - CFTHREAD がクエリを実行せず、ファイルを作成しないのはなぜですか?
ファイルの日付をチェックする関数があります。ファイルが 60 秒を超える場合は、クエリを実行して新しいファイルを作成する必要があります。クエリの実行には 60 秒かかります。
このプロセスは、CFTHREAD でラップされていない場合に完全に機能します。CFTHREAD を使用すると、何も起こらないようです。エラーは発生しません。私が期待しているのは、作成中の新しいファイルです。その新しいファイルを見ることはありません。
どこでエラーを探す必要がありますか? 私は何が欠けていますか?CFTHREAD が機能しないのはなぜですか?
memory-leaks - 私の最初のメモリリーク?コールドフュージョン
しばらく前に、 CFThread が GC オーバーヘッド制限を超えているという問題に関連する問題を投稿しました(注: 誰かが回答を回答としてマークしましたが、問題は解決されていません)。
実用的なソリューションを試して実装するために、何ヶ月も何ヶ月も読んでさまざまなアプローチをとった後、私はまだ先に進んでいません。
ごく最近、Eclipse 内で MAT プラグインを使用して、メモリ リークの問題が原因で問題が発生しているかどうかを判断しようとしましたが、表示されている情報がわかりません。
下に表示されているものを分析してもらえますか?
対処が必要なメモリ リークの問題はありますか? そして、これが私の CPU 使用率が限界に達し、CF サービス (そして最終的にはシステム) が停止する原因になっているのでしょうか?
coldfusion - 「JRun Master Request Limits」セクションが CFAdmin にありません
ColdFusion アプリケーションで次のエラーが表示されます: *
11/21 11:23:43 デバッグ [scheduler-1] - 次のメール スプールは 15 秒で実行されます。java.lang.RuntimeException: 使用可能なスレッドが実行されるのを待っている間に要求がタイムアウトになりました。スレッド プール内のアクティブなスレッドの数を増やすことを検討してください。
* 大容量のサイトや実行時間の長いテンプレートを使用する ColdFusion アプリでは、前述のエラーが発生する可能性があることはわかっています。これはアプリの不具合ではなく、CF自体の問題だと思います。したがって、これを解消するために、「サーバー設定」->「リクエスト調整」の下の「実行中の JRun スレッドの最大数」を増やそうとしました。しかし、フィールド全体が Admin にないことに驚きました - " JRun Master Request Limits "。以下のスクリーンショットを参照してください。
そして、同じフィールドが私のローカル CF 管理者 (開発者版) で利用可能です。以下のスクリーンショットを参照してください。
何か案が?この不一致はなぜですか?また、どのようにスレッドを増やす必要がありますか?
multithreading - CFTHREAD を 2 回実行する
cfcomponent オブジェクトを呼び出すループがあります。
コンポーネントには次の機能があります。
実行すると、次のエラーが表示されます。
cfthread タグの属性検証エラー。DOWNLOAD_4003_3 という名前のスレッドを作成できませんでした。スレッド名はページ内で一意でなければなりません。
エラーは 29 行目で発生しました。
理由はわかりませんが、2回実行されているようです。一意のスレッド名で新しいスレッドを生成して、トレッド名の競合を回避するべきではありませんか?
sql-server - ColdFusion スレッドでの SQL デッドロック
スレッド内で単純なクエリを実行すると、デッドロック エラーが発生する理由を理解しようとしています。Windows 2012 サーバーで SQL Server 2008 R2 を使用して CF10 を実行しています。
1 日に 1 回、一連のブログ フィードをデータベースにキャッシュするプロセスがあります。ブログ フィードごとにスレッドを作成し、そのスレッド内ですべての作業を行います。エラーなしで正常に実行される場合もあれば、1 つ以上のスレッドで次のエラーが発生する場合もあります。
[Macromedia][SQLServer JDBC Driver][SQLServer]Transaction (プロセス ID 57) は、別のプロセスとのロック リソースでデッドロックされ、デッドロックの犠牲者として選択されました。トランザクションを再実行します。
このデッドロック状態は、フィードが更新中であることを示すフラグを設定するクエリを実行すると発生します。明らかに、このクエリは、他のフィードを更新している他のスレッドと同時に発生する可能性があります。
私の調査によると、クエリの周りに排他的な名前付きロックを配置することで問題を解決できると思いますが、なぜそれを行う必要があるのでしょうか? これまでデッドロックに対処する必要がなかったので、この件に関する私の無知を許してください。どうすればデッドロック状態に陥る可能性がありますか?
投稿するにはコードが多すぎるため、大まかなアルゴリズムを次に示します。
multithreading - cfthread - どのくらい実行できますか?
Railo を使用して、cfthread を使用して大きなビデオ ファイルを処理しています。ファイルがアップロードされた後、<cfthread type="task">
ffmpeg を使用してファイルを処理するために呼び出します (type="task" は Railo 固有です)。大きなファイルの場合、これには時間がかかる場合があり、スレッドが完了する前に終了しているようです。
1) スレッドが終了していることを確認するにはどうすればよいですか?
2) スレッドの実行時間を変更する方法はありますか?
3) Railo でスレッドのアクティビティを監視する最良の方法は何ですか?
coldfusion - コードの実行後にのみ動的 cfm ファイルを削除する方法は?
インメモリ ファイル システムを使用して動的 CFM ファイルを実行しています。実行が終了した後でのみ一時ファイルを削除するにはどうすればよいですか? cfinclude の直後に実行すると、動的コードに中止タグや場所タグなどがある場合は削除されません。メイン ページ スレッドが完了するまでスリープするスレッドを作成してから削除できますか?
coldfusion - マルチユーザー環境で同じ名前の cfthread をキューに入れることはできますか?
ユーザー A は、「thread1」という cfthread を開始します。このスレッドは完了するまでに 30 分かかり、「設定して忘れる」スレッドです。つまり、スレッドはメイン ページの要求に再び参加しません。スレッドには、メモリを大量に消費するルーチンが含まれています。
次に、ユーザー B は同じ名前のスレッド [cfthread という名前が「thread1」です] を起動しますが、別のページ要求から、ユーザー A の 5 分後に起動します。
このシナリオでは、どのようにスレッドをキューに入れて、CF アプリケーション サーバーの処理負荷を軽減できますか?
異なる名前のスレッドによるスレッド キューイングについては理解しています。私は同じスレッドのインスタンスについて話しています。