0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub CodespacesでDurable Task Schedulerエミュレーターを起動してFanOutFanInを試す

0
Last updated at Posted at 2025-12-02

はじめに

この記事では、GitHub Codespaces上でDurable Task Schedulerエミュレーターを起動し、FanOutFanInサンプルを実行する手順を紹介します。

GitHub Codespacesの準備

以下のリンクをクリックすると、GitHub Codespaces上でSpaceを起動できます。

Open in GitHub Codespaces

環境チェック

今回はDockerと.NETを使うので、以下のコマンドでバージョンを確認します。

まずは、.NETのバージョンを確認します。

dotnet --version

実行結果

8.0.415

次に、Dockerのバージョンを確認します。

docker --version

実行結果

Docker version 28.5.1-1

手順を確認して起動してみる

では、どのような順番でDurable Task Schedulerエミュレーターを起動するのかを確認していきたいと思います。今回は.NETを使った方法を紹介します。

順番としては以下のとおりです。

  • Durable Task Scheduler エミュレーターをpull
  • docker runでDurable Task Scheduler エミュレーターを起動
  • ダッシュボードにアクセスする
  • Durable-Task-Schedulerのリポジトリをクローンする
  • ワーカーをビルドして起動
  • クライアントをビルドして起動
  • ダッシュボードで動作確認

Durable Task Scheduler エミュレーターをpullする

以下のコマンドを実行して、Durable Task Scheduler エミュレーターのDockerイメージをpullします。

docker pull mcr.microsoft.com/dts/dts-emulator:latest

実行結果(一部抜粋)

Digest: sha256:ef0b75cab52358409dadc34b675d659e397729c0b68f4ea51b9afa5136072dfb
Status: Downloaded newer image for mcr.microsoft.com/dts/dts-emulator:latest

Durable Task Scheduler エミュレーターを起動する

以下のコマンドを実行して、Durable Task Scheduler エミュレーターを起動します。

docker run --name dtsemulator -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest

実行結果(一部抜粋)

dbbf44836d36494ee4aafd9a7d9104eef008375881866053886c7f38ce9706a5

実行すると、上記のようなコンテナIDが表示されます。

ダッシュボードにアクセスする

GitHub Codespacesをブラウザ起動している場合は8082のポートにアクセスすることで、Durable Task Scheduler エミュレーターのダッシュボードにアクセスできます。

dts-emulator-dashboard.png

※VSCodeから起動している場合はhttp://127.0.0.1:8082/にアクセスすることで、Durable Task Scheduler エミュレーターのダッシュボードにアクセスできます。

dts-emulator-dashboard-vscode.png

Durable-Task-Schedulerのリポジトリをクローンする

以下のコマンドを実行して、Durable-Task-Schedulerのリポジトリをクローンします。

git clone https://github.com/Azure-Samples/Durable-Task-Scheduler.git

ワーカーをビルドして起動する

以下のコマンドでDurable-Task-Schedulerのディレクトリに移動します。

cd Durable-Task-Scheduler

FanOutFanInのディレクトリに移動します。

cd samples/durable-task-sdks/dotnet/FanOutFanIn

まずはワーカーをビルドして起動します。

cd Worker
dotnet build
dotnet run

クライアントをビルドして起動する

新しくターミナルを開き、以下のコマンドでFanOutFanInのディレクトリに移動します。

cd Durable-Task-Scheduler/samples/durable-task-sdks/dotnet/FanOutFanIn

以下のコマンドでクライアントをビルドして起動します。

cd Client
dotnet build
dotnet run

ダッシュボードで動作確認

Durable Task Scheduler エミュレーターのダッシュボードに戻って動作を確認します。

defaultという名前のTask Hubをクリックします。

dts-1.png

Task Hubs > default > Orchestrationsという形で表示されます。

dts-2.png

Orchestrations IDをクリックします。

dts-3.png

Orchestrationの詳細が表示されます。

dts-4.png

まとめ

GitHub Codespaces上でDurable Task Schedulerエミュレーターを起動し、FanOutFanInサンプルを実行する方法は以上です。Durable Task SchedulerはGitHub Codespaces上で試すことができるので、ぜひ活用してみてください。

おまけ

以下の2つの手順はCodespacesで環境構築時に自動化することも可能です。

  • Durable Task Scheduler エミュレーターをpull
  • docker runでDurable Task Scheduler エミュレーターを起動

具体的には.devcontainer.jsonでPostCreateCommandすると実現できます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?