【JobScheduler格闘戦記】祝日カレンダーの作成

(JobScheduler Run Time No Working Days Include Files)
Windows標準のタスクスケジューラでも、実行する曜日を指定することはもちろん可能です。平日のみ実行させたいのであれば、月~金のチェックを入れて実行時刻を指定するだけです。

しかし、祝日の設定は出来ません。しかも、日本の場合は結構祝日が増えるので、祝日カレンダーの設計は必須事項

「JobSchedulerでカレンダーを持つことが出来て、祝日もバッチリですっ!」って思ってたらなんか出来ない、出来るけど想像したのと違う

f:id:orzmakoto:20160403185653p:plain
"Run Time" -> "No Working Days"の設定で実行しない日(祝日)を指定すればその日は実行しない。
これ全部の"Run Time"や"Scheduler"に記載するのはメンテナンス性を考えて論外。

続きを読む

【JobScheduler格闘戦記】JOEを使って単独JOBを作成

(JobScheduler new job create JOE Windows)
まず、躓いたのがJOEを使っての新規JOB作成方法。
超、第一歩ですね。いろいろな解説サイトでは、XMLを書いて所定のフォルダに保存ってのはありました。

<?xml version="1.0" encoding="ISO-8859-1"?>
<job >
  <script language="shell">
    <![CDATA[
#!/bin/sh
LANG=C
echo "$SCHEDULER_JOB_NAME is running"
echo "now - `date`"
exit $?
    ]]>
  </script>
</job>

以下のディレクトリ、ファイル名で保存する

ディレクトリ C:\ProgramData\sos-berlin.com\jobscheduler\#インストール時に設定した名前#\config\live
ファイル名 now.job.xml

小規模なのJOB構成であればXMLを書いてもいいが、今回はJP1を使いたいと思うほどの規模を想定しているのでGUIの支援ツール(JOE)がないとキツイ

で、JOEでどーするの?
出来ないの? 探し方がよくないの?

結果:調べ方が下手、英語が読めない、よく読むとちゃんと書いている

続きを読む

JobScheduler格闘戦記

(JobScheduler Job)
Winodws上でJOB実行といえば、タスクスケジューラが手軽で便利
とりあえず、バッチファイルでも作って定期実行には簡単でよいのですが、JOBの数が多くなってきたり依存関係ガー、祝日ガーとか一定規模を超えると非常に厳しくなります。
※というかなって、死にかけた

予算があれば、JP1!
それか使ったことはないけど、Microsoft System Center Orchestratorもいいかなっと思いましたが今回は、これも使ったことはないがOSSのJobSchedulerでJOB制御を行うことにしました。

www.atmarkit.co.jp
これを読む限りは、やりたいことは全部できそう
(これでイケマス!と断言したが記事読んだ程度、何とかなるだろ感覚)

やりたいこと

  1. JOBの単体実行
  2. 依存関係の設定
  3. 休日、祝日の定義
  4. JOBエラー時にエラーJOBからの再実行、スキップ
  5. JOBフローの可視化

などなど、JP1を使えば簡単に...ってことばかりです。

今回のシステムでは、Windowsです。
Windows環境にJobSchedulerを構築して、WindowsServerに対してJOB実行を行います。

日本語の情報が少なく苦労したので、日々格闘の戦記を残します。

【JobScheduler格闘戦記】JOEを使って単独JOBを作成 - orzmakoto’s blog
【JobScheduler格闘戦記】祝日カレンダーの作成 - orzmakoto’s blog

Lync SDKのContactCardを使う

(Lync SDK 2013 user ContactCard set user add)
Lync SDKWPFコントロールにContactCardがありますが、これの初歩的な使い方として、任意のユーザを表示させる実装が不明で悩んだのでメモ

UIコントロール

ツールボックスからContactCardを適当に配置

f:id:orzmakoto:20160228121754p:plain

実装

問題は、指定のユーザをどう設定するか

XAML上のContactCardに"Name"プロパティを指定します。

<controls:ContactCard HorizontalAlignment="Left" VerticalAlignment="Top" Name="ContactCard1"/>

ContactCard1に対してStringでユーザを設定します

ContactCard1.Source = "ninomiya@sample.com";

実行

デバッグで指定したユーザの情報が表示されていることが確認できます
f:id:orzmakoto:20160228122237p:plain


簡単なのはいいのですが、Object型のSourceにそのままユーザを設定すればいいとか逆にわかりにくい
あと、表示内容の変更とか出来ないのかしら。