我發現很難找到有關使用StatelessWorkers的詳細文檔。Orleans StatelessWorkers
我想實現類似於this的操作。正如文件中所建議的那樣,我需要使用無狀態工作者來處理一些信息並激活將最終持有該州的穀物。
我想有一個調度程序穀物處理「初始化」的多個實例,因爲這顆穀物決不處理任何狀態,並且消息不需要按順序排隊。
我是否需要將此顆粒標記爲可重入?或者無狀態工作者(屬性)是否足夠?
關於激活,似乎我需要從IGrainWithIntegerKey
(或類似的接口)繼承。這意味着我需要激活糧食如下:
GrainClient.GrainFactory.GetGrain<IDispatcherActor>(0)
因爲我總是使用0作爲ID將糧食的多個實例仍然被激活?或者我是否需要創建不同的ID。好像我不能把糧食如下:
GrainClient.GrainFactory.GetGrain<IDispatcherActor>()
即使我從IGrain
感謝您的回覆,理查德。 「他們只能從一個筒倉裏面調用」這是否意味着我無法使用GrainClient激活無國籍工人?它是否有意義使其可重入?所以相同的穀物可以處理多個請求? – Jonny
無國籍工人可以從其他穀物中調用,但不能直接從外部客戶端調用。 我會做一個糧食折返優化性能。我認爲沒有必要對無國籍工人這樣做。 –