私はいくつかのロジックを継続的に実行するためにAzure Webジョブを使用しています。関数はシングルトン関数です。しかし、Webアプリケーションの再起動後にこの機能を実行しようとすると、「ロック待ち」メッセージが表示されます。同じ関数の別のインスタンスがロックを保持していることを意味しますか?どうすれば解決できますか? Azure Webジョブのシングルトン機能がロックされています
機能:namespace Ns
{
public class Functions
{
[Singleton]
[NoAutomaticTriggerAttribute]
public static async Task ProcessMethod()
{
while(true){
//process logic here
await Task.Delay(TimeSpan.FromSeconds(20));}
}
}
}
メインプログラム:
namespace ns
{
class Program
{
static void Main()
{
var host = new JobHost();
host.RunAndBlock();
}
}
}
私が得たメッセージ:
同じWebジョブのすべてのインスタンスを停止することはできますか?また、Webアプリケーションをデプロイすると、付属のWebジョブが自動的にデプロイされますか?ありがとう! – condor126
また、私はそれを見ることができますが、私は正しい機能のロックをどのように得るのですか?ありがとう! – condor126
「正しい」機能とはどういう意味ですか?ロックとシングルトンは、関数の1つのインスタンスが実行されるように設計されており、同じ関数の他のインスタンスはロックアウトされています。スケーリングを制限する関数を定義するために使用されます。 webjobインスタンスの量は、実行しているApp Service Planのインスタンスの量と同じです。 –