我们在Azure自动化中设置了多个Runbook来备份数据库。多个Runbook在AzureProfile.json上拒绝访问
我们有4个Runbook,一个用于我们希望备份的每个数据库。
每个运行手册的调用到子运行手册(DBBackup.ps1)中,用特定的参数,以确定数据库中备份,文件名前缀对所产生的斑点等
DBBackup.ps1具有用于选择在Azure代码帐户和订阅,然后执行备份。
我们有一个日程安排,每天凌晨1点运行,并且4个数据库Runbook与此计划相关联。
这一切都很好,有时。
我们与结束了是因为这些运行手册并行运行,有时,当他们尝试设置帐户和订阅,他们得到了以下错误:
The process cannot access the file 'C:\Users\Client\AppData\Roaming\Windows Azure Powershell\AzureProfile.json' because it is being used by another process. (The process cannot access the file 'C:\Users\Client\AppData\Roaming\Windows Azure Powershell\AzureProfile.json' because it is being used by another process.)
我不是真的我确信在这里要做什么,因为我认为当他们作为单独的工作来运行时,它们将被隔离。
任何帮助表示赞赏。从评论
更新:
我意识到,我都可以在重试逻辑这个包起来。我想了解的是,为什么我认为四个独立的作业将彼此隔离,试图访问相同的本地文件。
由于我一夜之间结果的例子:
该列表中的第二和第四个作业失败,因为AzureProfile.json被锁定。
嗯,这是什么问题?这很明显,实现一个重试逻辑来读取每个Runbook中的文件? – 4c74356b41
是的,我可以在那里添加重试逻辑,但我显然不理解这些工作的隔离并希望。 – Carl
它与隔离无关,你试图访问一个文件,不管你如何隔离这些作业,他们不能同时访问同一个文件,如果该文件被锁定的话...... – 4c74356b41