JOB Ticketというのは、元々の私の専門分野(DTPワークフロー)で使われてた言葉で、
まぁ作業票みたいなものと思ってくれればよい。
【こんな作業をする】
という票を読み取って、その通りに実行したり、途中のステータスを管理したり、
まぁそんな感じのものだ。
で、今回の魔法のハコProjectでは、なんらかの作業を実行させる際に、
Ticketを発行し、それを読み取って実行するプロセスが実行させたり、実行命令をかけたりするというものだ。
因みにI/Oだが、HotFolderというベタな方法をとる。
長年の経験則に基づき、
【HotFolder型は、エラー処理やステータス管理をキッチリやれば意外と最強】
ということなのだ。
特にメンテナンス、障害対応等が非常にやりやすく、テストもデバッグもやりやすく、開発効率も良く、
実装も簡単で、信頼性もそこそこあるのだ。
HotFolder型ががベタなファイルのI/Oというだけで信頼性をとやかく言う輩もいるけれども、
いくらたいそうなDBを使おうが、最終的にはファイルで管理してるわけなので、正しく扱えば信頼性は変わらない。
まぁ今時なので、ハンドリングのしやすさから、JSON形式とする。
たとえば、、
こんなTicketを受け取ったJOB-Ticket実行プロセスが、
camerashot.exe を引数v=1&interval=5 で実行させ、JPEGstreamを戻すみたいなものだ。
まぁ作業票みたいなものと思ってくれればよい。
【こんな作業をする】
という票を読み取って、その通りに実行したり、途中のステータスを管理したり、
まぁそんな感じのものだ。
で、今回の魔法のハコProjectでは、なんらかの作業を実行させる際に、
Ticketを発行し、それを読み取って実行するプロセスが実行させたり、実行命令をかけたりするというものだ。
因みにI/Oだが、HotFolderというベタな方法をとる。
長年の経験則に基づき、
【HotFolder型は、エラー処理やステータス管理をキッチリやれば意外と最強】
ということなのだ。
特にメンテナンス、障害対応等が非常にやりやすく、テストもデバッグもやりやすく、開発効率も良く、
実装も簡単で、信頼性もそこそこあるのだ。
HotFolder型ががベタなファイルのI/Oというだけで信頼性をとやかく言う輩もいるけれども、
いくらたいそうなDBを使おうが、最終的にはファイルで管理してるわけなので、正しく扱えば信頼性は変わらない。
まぁ今時なので、ハンドリングのしやすさから、JSON形式とする。
たとえば、、
{
"type":"execute"
,"pg":"camerashot.exe"
,"status":0
,"args":{
"v":1
,"interval":5
}
,"retvalue":{
"type":"stream"
,"mime":"image/jpeg"
}
,"retstatus":0
}
こんなTicketを受け取ったJOB-Ticket実行プロセスが、
camerashot.exe を引数v=1&interval=5 で実行させ、JPEGstreamを戻すみたいなものだ。
コメント
コメントを投稿