Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Amazon Simple Workflow Casual
Search
Kenichi Takahashi
November 01, 2013
Programming
790
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Simple Workflow Casual
AWS Casual Talks #1 LT
Kenichi Takahashi
November 01, 2013
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
2k
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
230
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
3
1.1k
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2.2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.6k
負債と言わないことが負債と向き合うこと
kenchan
5
4.8k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
210
カラーミーショップは私たちが作っています
kenchan
0
1.8k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
770
Other Decks in Programming
See All in Programming
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.3k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
320
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
430
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
200
iOSDC2026登壇資料.pdf
riofujimon
0
200
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
600
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
30
13k
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.2k
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.3k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
4
460
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Mind Mapping
helmedeiros
1
390
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Fireside Chat
paigeccino
43
4k
It's Worth the Effort
3n
188
29k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Transcript
ג ӬγεςϜϚωδϝϯτ ∁ڮ݈Ұ LFOUBLBIBTIJ!FTNDPKQ IUUQTIVDSFBNOFU "84$BTVBM5BMLT "NB[PO 4JNQMF8PSLqPX $BTVBM
ࣗݾհ ,FOJDIJ5",")"4)* IUUQTIVDSFBNOFU UXJUUFS!LFODIBO HJUIVCLFODIBO ! (FOUPP 'VOUPP -JOVY 5JMJOH8JOEPX.BOBHFS
,JOFTJT$POUPVSFE,FZCPBSE ! ఏಜ ϦϯΨധ ޫͷઓ࢜ ϰΝφσΟʔϧ
ɹIUUQJEPCBUBJP
ँࣙ
"NB[PO4JNQMF8PSLqPX Λ"844%,GPS3VCZ͔Β ͍ɺ"DUJWJUZ5BTLΛඇಉظ ʹྃͤ͞ΔΈΛ࡞Δ͜ͱͰ ༷ʑͳ՝Λղܾͨ͠Λ͠·͢ɻ ࠓͷ͓
͓ख͍͍ͯ͠Δ4BOTBO༷ ͷʮͱ͋ΔγεςϜʯͰ 4JNQMF8PSLqPX͕γε ςϜͷத֩Λ୲͓ͬͯΓɺ ̔ສͷϫʔΫϑϩʔΛຖ࣮ ߦ͍ͯ͠·͢ɻ ࠓͷ͓ͷิ
ͳͥ4JNQMF8PSLqPX
ͳͥ4JNQMF8PSLqPX "NB[PO4JNQMF8PSLqPX ͍ͬͯ͏৽͍͠αʔϏε͕͋ΔΈ ͍ͨͳΜ͚ͩͲʜ
w ్தͰਓखΛೖΕ͍ͨ w ༏ઌʹΑͬͯॲཧ͢Δॱ ൪Λ੍ޚ͍ͨ͠ w ్தͰ·ͱΊͯόονॲཧ ͍ͨ͠ w ݴޠ3VCZ
՝
w ్தͰਓखΛೖΕ͍ͨ w ༏ઌʹΑͬͯॲཧ͢Δॱ ൪Λ੍ޚ͍ͨ͠ w ్தͰ·ͱΊͯόονॲཧ ͍ͨ͠ w ݴޠ3VCZ
՝
IUUQEIBUFOBOFKQDLBUBZBNB
'MPX'SBNFXPSL3FDJQFT
ʂʂʂ
w ్தͰਓखΛೖΕ͍ͨ w ༏ઌʹΑͬͯॲཧ͢Δॱ ൪Λ੍ޚ͍ͨ͠ w ్தͰ·ͱΊͯόονॲཧ ͍ͨ͠ w ݴޠ3VCZ
՝
جຊҰݸྲྀ͠Ͱॱ൪ʹ
جຊҰݸྲྀ͠Ͱॱ൪ʹ ʮ͓ٸ͗ศʯ ʮ·ͱΊͯൃૹʯ Ͳ͏࣮ݱ͠Α͏ʁ
4JNQMF8PSLqPXͷػೳ
4JNQMF8PSLqPXͷػೳ ΞΫςΟϏςΟͷதͰ ࣗͨͪͰ ࣮͠ͳ͍ͱ͍͚ͳ͍
w ్தͰਓखΛೖΕ͍ͨ w ༏ઌʹΑͬͯॲཧ͢Δॱ ൪Λ੍ޚ͍ͨ͠ w ్தͰ·ͱΊͯόονॲཧ ͍ͨ͠ w ݴޠ3VCZ
՝
"844JNQMF8PSLqPX "DUJWJUZ5BTLΛӬଓԽͰ ͖ΔΑ͏ʹ͢Δ ղܾҊTUFQ
w ͪঢ়ଶͷλεΫΛϝϞϦ ্ʹ͞ͳͯ͘Α͍ w ࣮ࡍʹॲཧ͢Δॱ൪ɺ୯Ґ Λ੍ޚͰ͖Δ ӬଓԽ͕Ͱ͖Δͱʜ
"DUJWJUZ5BTL͔Βඞཁͳ ใΛ+40/ܗࣜͰऔΓग़͠ɺ%# ʹอଘ͓ͯ͘͠ɻλεΫΛྃ ͤ͞Δࡍʹɺͦͷใ͔ΒΦ ϒδΣΫτΛ෮ݩ͢Δɻ "DUJWJUZ5BTLΛ%#ʹอଘ
NZ@BDUJWJUZ@UBTLSC class MyActivityTask < SimpleDelegator! def initialize(original_activity_task)! super original_activity_task! end!
...! def to_json! to_hash.to_json! end! ! def to_hash! {! 'taskToken' => task_token,! 'activityId' => activity_id,! 'startedEventId' => started_event_id,! ! 'activityType' => {! 'name' => activity_type.name,! 'version' => activity_type.version,! },! ! 'workflowExecution' => {! 'workflowId' => workflow_execution.workflow_id,! 'runId' => workflow_execution.run_id,! }! ! ‘task_info' => {! # set custom task_info! }! }! end!
NZ@BDUJWJUZ@UBTLSC class MyActivityTask < SimpleDelegator! ...! def self.create_from_attributes(domain, attributes)! aws_attributes
= attributes.except('task_info')! swf_activity_task = AWS::SimpleWorkflow::ActivityTask.new(! domain,! aws_attributes,! {}! )! ! task = self.new(swf_activity_task)! ! if task_info = attributes['task_info']! # set custom task_info! end! ! task! end! end
1SPEVDFS$POTVNFS ύλʔϯΛద༻ͯ͠ɺ࣮ࡍͷ ॲཧॱ൪ͷ੍ޚɺόονॲ ཧΛ࣮͢Δɻ ղܾҊTUFQ
http://www.hyuki.com/dp/dpinfo.html#ProducerConsumer
"8448"DUJWJUZ5BTL $PMMFDUJPOQPMM·ͨ QPMM@TJOHMF@UBTLΛ͍ɺ 48'͔ΒλεΫΛऔಘͯ͠%# ʹอଘ͢Δ͚ͩɻ 1SPEVDFS
BDUJWJUZ@UBTL@QSPEVDFS@CBTFSC class ActivityTaskProducerBase! ...! def process_next_task!! activity_task = activity_task_list.poll_for_single_task! !
process!(MyActivityTask.new(activity_task))! end! ! def process!(my_activity_task)! MyTaskMode.create(! task_info: my_activity_task.to_json,! # other attributes! )! end! end
λεΫΛҙͷॱ൪ɺ·ͱ· ΓͰॲཧΛߦ͍ɺ"84 48"DUJWJUZ5BTLDPN QMFUFΛݺͼग़͠ɺλεΫΛ ࣍ਐΊΔɻ $POTVNFS
TBNQMF@DPOTVNFSSC
"DUJWJUZ5BTLΛӬଓԽ͢Δ ͜ͱͰɺ48'ͱͷΠϯλ ϑΣʔεʹ1SPEVDFS $POTVNFSύλʔϯΛద༻ ͠ɺࠓճͷ՝ղܾͰ͖· ͨ͠ɻ ·ͱΊ
w ్தͰਓखΛೖΕ͍ͨ w ༏ઌʹΑͬͯॲཧ͢Δॱ ൪Λ੍ޚ͍ͨ͠ w ్தͰ·ͱΊͯόονॲཧ ͍ͨ͠ w ݴޠ3VCZ
՝
ϫʔΫϑϩʔͷ్தͰਓखΛೖΕΔ ͚ͩͰ͋Ε'MPX'SBNFXPSL Λ͏͜ͱͰ؆୯ʹ࣮ݱͰ͖·͕͢ɺ ్தͰόονॲཧΛڬΉ߹ɺॲ ཧ͢Δॱ൪ΛೖΕସ͍͑ͨͱ͍͏༻ ͕݅͋Δ߹ࣗલͰ࣮͢Δඞཁ ͕͋Γ·͢ɻ ·ͱΊ
&OKPZ$PEJOH