問題タブ [batch-processing]

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.

0 投票する
1 に答える
272 参照

database - 高可用性認証サービスの適切なソリューションは何ですか?

私は社内の予測ダイヤラ製品を持っているソフトウェアショップで働いており、DO-NOT-CALLリストに従うためのソリューションを実装する必要があります。

基本的に、私は電話をかける必要のある顧客/見込み客のデータベースと、電話をかけられない電話番号のデータベースを持っています。システムは予測ダイヤラーであるため、操作のパフォーマンス、時間平均などに基づいて、ログに記録されたシステムユーザーごとに多かれ少なかれコールをダイヤルします。通常、この「マジック」番号は、ログに記録されたエージェントごとに約3〜4回の呼び出しです。

予測ダイヤラの電話番号リポジトリはPostgreSQLデータベースです。予測ダイヤラはデータベースから一連の番号を取得し、その束をダイヤルするコマンドをpbxに送信します。その後、ビジネスロジックは、有効な通話をコールセンターの担当者などに転送します(これは私の場合は関係ありません)。問題は電話の前にあります)。

呼び出し禁止リスト機能を実装する必要があります。この電話禁止リストは、政府機関からCSVファイルで毎日提供されます。新しいCSVファイルを受け取るたびに、古いdo-not-call-listを削除して、新しいファイルを配置する必要があります。

それを実装するための私の最初の考えは、バッチ処理を実行し、DO NOTCALLLISTを現在の顧客データベースと相互参照することでした。ただし、両方のデータベースのサイズによっては、相互参照のパフォーマンスが非常に高くなり、一晩で完了できない場合もあると思います。私は以前にバッチ処理でこの種の問題を抱えていましたが、それを見るのは良いことではありません。

私の2番目のアイデアは、大規模な機関がクレジットカードやユーザー認証/承認などの高性能で高スループットの承認システムをどのように処理するかを考えたときに思いついたものです。DO NOT CALL LIST番号の認証サービスを作成し、ダイヤラのアルゴリズムを変更して、ダイヤルする前にこの認証サービスに対して各番号をチェックするのが適切だと思いました。

私はここで作話をしているだけなので、どちらのアイデアが最適か、または完全に間違っていて別の方向に目を向けるべきかどうかはわかりません。だから、私の質問は:あなたの推薦は何でしょうか?CSVファイルをメモリに保存しますか?LDAPを使用しますか?MySQLを使用しますか?PostgreSQL?バッチ処理はしますか?それとも私は間違いなくねじ込まれていますか?

このような問題を抱えているのは私が世界で初めてではないことを私は知っているので、私に教えてください。

0 投票する
2 に答える
201 参照

c# - 共有ホスティング環境でのサーバー側のバッチ プロセス

共有ホスティング環境でホストされる Web サイトを書いています。その結果、タスク スケジューラなどにアクセスできなくなります。ウェブサイトは、半日単位でさまざまなチェックを実行する必要があります。このシナリオでこれらのタスクを起動する最良の方法は何ですか?

私が考えることができる最高の2つのことは次のとおりです。

  • ユーザーがサイトにアクセスするたびにプロセスを開始します。何らかのチェックを実行して、プロセスが最後にいつ実行されたかを確認し、12 時間を超える場合はプロセスを実行します。
  • プロセスを実行する隠しページを作成し、外部エンティティを取得してこのページに 12 時間間隔で ping を送信します。

どちらの方法も少し厄介に思えますか?

0 投票する
5 に答える
836 参照

php - PHPで長時間のバッチ処理を行う方法は?

アップロードされたCVSファイルから約100000〜500000行のdbテーブルを更新する必要がある場合、バッチプロセスがあります。通常は20〜30分かかりますが、それより長くかかることもあります。

最善の方法は何ですか?その上で何か良い習慣はありますか?任意の提案をいただければ幸いです

ありがとう。

0 投票する
6 に答える
25578 参照

windows - Windows バッチ プログラミングでパイプ内のコマンドのエラー レベルを取得するにはどうすればよいですか?

デフォルトでは、バッチ ファイルは最後のコマンドのエラー コードを返します。

以前のコマンドのエラーコードを返すことは何とか可能ですか? 最も注目すべきは、パイプ内のコマンドのエラー コードを返すことは可能ですか?

たとえば、この 1 行のバッチ スクリプト

fooのエラーコードを返します。しかし、これは:

常にゼロであるteeの終了コードを返します。

0 投票する
3 に答える
9276 参照

database - AIX 上の isql から呼び出された Sybase ストアド プロシージャ: リターン コードの処理方法

isql を使用して Sybase でストアド プロシージャを実行する AIX バッチ ジョブがあります。ストアド プロシージャは、特定の条件下でエラー コードを返しています。isql がその戻りコードを AIX スクリプトに渡すようにしたいと考えています。

isql 内でストアド プロシージャのリターン コードをキャプチャできますか、それとも何らかの出力ファイルを作成し、AIX スクリプトでそれをチェックする必要がありますか?

isql コマンドは次のようになります。Korn シェル スクリプト内で実行されます。

0 投票する
5 に答える
15810 参照

nhibernate - 一度に 1000 件以上のレコードをデータベースに保存する

現在NHibernateを使用しています。次のように、一連のレコードをデータベースに保存する必要がある状況があります。

保存するレコードが大量にある場合、データベースに何度もアクセスしなければならないのは明らかに非常に負担がかかります。より良いアプローチは何ですか?私ができるバッチ更新のようなものはありますか?DataSet を使用した方がよいでしょうか?

ありがとう

0 投票する
3 に答える
608 参照

makefile - タスクのシーケンスをスケジュールするような「make」

私が働いている会社には、「複雑な」ファイルベースのバッチプロセスがたくさんあり、次のような一連のファイルがあります。

  • ファイルAを取る
  • ファイル B をフェッチする
  • ファイル A のフィールドをファイル B に結合してファイル C を作成する
  • ファイル C でいくつかのヒューリスティックを実行して、ファイル D を作成します
  • ファイル D をサーバー X にアップロードする
  • ファイル D と A に基づいてレポートを作成し、それを user.name@example.com にメールで送信します

各ステップの実行には何時間もかかる場合があります (ファイルには数十億行のデータが含まれる場合があります)。while は、GNU Makefile と一緒に接着されており、次のようなセクションがあります。

fileC: fileD run-analysis $^ > $@

Makefile は、ステップ間の依存関係をモデル化するのに役立ちます。また、特定のステップの後のすべてを繰り返すこともできます (ステップに問題がある場合、またはヒューリスティックが変更された場合など)。

Makefile を使用することは、バッチ プロセスを実行するためではなく、ソフトウェアを構築するためのものであるため、私には常に悪いように思えます。また、Makefile は、いかなる形式のテスト フレームワークも提供しません。

私の質問は、これらのような大きなシーケンスの大規模な操作をどのように調整するのですか?

0 投票する
1 に答える
650 参照

batch-file - 1 つのファイルの名前の一部を変更して一連のテンプレート ファイルの名前を変更するバッチ コード (コピーするすべてのファイルが同じテキストに変更されます)

予約を受け入れるときに使用する一連の情報を再作成するためのテンプレートとしてフォルダーを含むファイリング システムを作成し、ディレクトリ内のすべてのファイルの名前を非常に具体的な方法で変更するバッチ コマンドが必要です。より正確に言えば、ディレクトリには以下が含まれます: 1 つのファイルは請求書テンプレート (PDF フォーム) で、もう 1 つは職務記述書テンプレート (MSWord)、さらに別のファイルは特別な目的のための追加テンプレート (MSword) です。
他にもいくつかのファイルがありますが、すべてに名前を付ける必要はないと思います。

予約を処理するたびに、テンプレート ディレクトリ (これらすべてのファイル テンプレートを含む) をコピーし、ジョブ番号に従って名前を変更します。次に、「bookings」ディレクトリの下に再配置し、ジョブが予約されている月を表すフォルダーにドロップします。

最初のステップで、ディレクトリ内のすべてのファイルの名前を自動的に変更するにはどうすればよいですか。ディレクトリ内の各ファイルには異なる名前が付けられていますが、手動で各ファイルの名前を変更すると、ジョブ番号という 1 つの共通要素がすべて共有されます。したがって、必要なのは、各ファイル名の一部をその予約のジョブ番号に変更し、残りのファイル名はそのままにすることです。これにより、処理する予約の数を大幅に節約できると思います。(CRM ソフトウェアは地平線上にありますが、この段階ではまだ少し遠すぎます)。

たとえば、テンプレート ディレクトリの名前を「template」から「CFI-00123 (1P2H)」に変更すると、ディレクトリ内で「invoice# 000.pdf」という名前のファイルが「invoice# CFI-00123.pdf」になり、別の「job# 000.docx」という名前のファイルは、「job# CFI-00123.docx」になります。

複雑なこと: ジョブ番号は次のようになります: CFI-00123 (2PBR)。したがって、ディレクトリは正確にその名前になります。ただし、ファイル内で複製したい部分は「CFI-000123」のみであり、括弧内の部分(2PBR)ではありません。これは、ジョブの要件が何であるかを一目で特定するのに役立つ追加情報にすぎず、これを反映するために各ファイルを必要としません。

私はバッチ コードを書いたことがなく、html を使用するときに漠然とした理解があるので、何をすべきか、何を書くべきかを正確に教えてくれる人が必要です。

事前にお時間をいただきありがとうございます。ご不明な点がございましたら、できる限り明確にするよう努めます。これが理解するのが難しすぎないことを願っています。

乾杯、ダニー。