2017-08-11 3 views
0

ML 8.0.6でXqueryクエリを使用して「スケジューラタスク」を使用してデータ抽出をスケジュールしました。Marklogic 8:スケジュールされたタスクが開始されず、ログがありません

マイXQuery問合せ(私は/ ML Webコンソールでそれをコピー&ペーストして、私はAWS S3で使用可能なファイルを取得する場合は、このクエリは動作します):

xdmp:save("s3://XX.csv",let $nl := "
" 

return 
document { 

for $book in collection("books")/books 
return (root($book)/bookId||","|| 
     $optin/updatedDate||$nl 
) 
}) 

私のスケジュールされたタスク:

  • タスクが有効:はい
  • タスクパス:/home/bob/extraction.xqy
  • タスクのルート:/
  • タスクタイプ:時給
  • タスク期間:1
  • タスクの開始時間:8
  • 毎時タスクデータベース:ファイルシステム
  • タスクのユーザー:管理者
  • タスクホスト:XX
  • タスクモジュールをMYDATABASEタスクの優先度:上位

AWS S3でファイルが生成されないため、残念ながらスクリプトは実行されません(st orageが使われています)、ログはありません。

任意のアイデア: スケジューラタスクでジョブをデバッグしますか? 2 /予想された時刻に実行中のジョブを表示しますか?

ありがとう、 ロメイン。

答えて

3

まず、ErrorLog.txtを見てみると、おそらくどこで問題が発生するかがわかるからです。スクリプトが論理的に配置されて

xdmp:filesystem-file(concat(xdmp:data-directory(),"/","Logs","/","ErrorLog.txt")) 
  • :それは、コンテンツデータベース、モジュールのデータベース、または./MarkLogic/Modulesディレクトリにアップロードされていますか?
  • これがクラスタの場合、実行中のホストを指定しましたか?その場合は、ファイルシステムモジュールを使用して、指定されたホストの./MarkLogic/Modulesディレクトリにスクリプトが存在することを確認します。 Infではなく、ファイルシステムモジュールを使用して、./MarkLogic/Modulesディレクトリにのすべてのというスクリプトが存在することを確認します。仕事ランニングを見るためとして

、あなたはhttp://servername:8002/dashboard/をチェックして、実行中のプロセスを参照してくださいQuery Executionタブを見て、またはあなたが見を取ることによって、プロセスのスナップショットを取得することができますすることができますタスクサーバのステータスページ(設定>グループ> [グループ名]> [タスクサーバ:ステータスをクリックし、よりボタンを表示)

+0

おかげでマイケル。スクリプトの場所についてあなたが言ったことを理解していない。私はこのスクリプトをユーザの家に置いています:/home/toto/test.xqyそれをするのは大丈夫ですか、それともMLフォルダに入れなければなりませんか?はいの場合、タスクタイプ/タスクルートにファイルのパスを指定するにはどうすればよいですか?ドキュメント –

+0

私はダブルチェックされていますが、エラーではありませんが、何も生成されませんでした... –

+1

タスクマネージャを使用してスクリプトを実行するには、スクリプトはシステムのデータベースの1つにあるか、それを呼び出すホストのMarkLogicインストールディレクトリ。 –

関連する問題