我有一個API登錄到系統。它不支持使用相同的用戶ID進行併發登錄(我猜是由於許可證)。然而,這個代碼可以由不同用戶從另一個系統啓動的不同進程/客戶端調用,在我的情況下,這是一個ClearCase觸發器。如何實現基於文件的持久堆棧?
my $conn = new BuildForge::Services::Connection('ccbuildforged01', 3966);
my $token = $conn->authUser('bldforge', 'password');
我有兩種選擇。
- 返回的$ token可以被不同的客戶端共享。那麼我怎麼能持久這個$標記?
- 我有10個許可證,所以可以創建10個用戶。如何爲所有客戶端創建基於文件的持久堆棧來共享這些用戶ID?
我google了一下,發現這個: 一個單一的,簡單的文件和鎖似乎你所需要的。你推鎖,追加,解鎖。您通過鎖定,查找,讀取,截斷,解鎖來彈出。
有人可以給我一個代碼示例嗎?
您是否使用堆棧來管理用戶標識:從堆棧中彈出一個可用的標識,並將已釋放的標識推回到堆棧上? – Rob