دستوراتی برای بهبود عملکرد چرخه های کاری در شیرپوینت
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: یک دقیقه

در هنگام کار با WorkFlow ها ممکن است به مواردی بر بخورید که حاکی از کند شدن انجام آنها می باشد... زمانبر بودن اجرای انها ،مشاهده پیغام های خطا مبنی بر داخل صف شدن workflow و مانند آنها .
 
از مواردی که روی اجرای Workflow ها تاثیر می گذارد ، تعداد گردش های همزمان ، تعداد آیتم های در انتظار پردازش توسط سرویس Timer و Workflow Timeout است.
در اینجا به این سه ویژگی مهم ، مقادیر پیش فرض آنها و تغییر آن برای بهینه شدن انجام چرخه های کاری اشاره می کنم . برای انجام این کارها از STSADM - Sahrepoint PowerShell کمک میگیریم :
 
 
مورد اول : مقدار پیش فرض گردش های کاری همزمان :
برای مشاهده این مقدار دستور زیر را وارد می کنیم :
 
stsadm -o getproperty -pn workflow-eventdelivery-throttle
 
مقدار پیش فرض آن معمولا 15 است . که در اینجا این مقدار را به 25 افزایش می دهیم . به روش زیر :
 
stsadm -o setproperty -pn workflow-eventdelivery-throttle –pv "25"
 
مورد دوم : تعداد Work Item های در حال انتظار پردازش :
برای مشاهده این مقدار از دستور زیر استفاده می کنیم :
 
stsadm -o getproperty -pn workitem-eventdelivery-batchsize
مقدار پیش فرض آن معمولا 100 است به کمک دستور زیر این مقدار را به 125 تغییر می دهیم :
 
stsadm -o setproperty -pn workitem-eventdelivery-batchsize -pv "125"
 
مورد سوم : Workflow Timeout
و اما برای مشاهده این مورد نیز دستور زیر را وارد کرده :
 
stsadm -o getproperty -pn workflow-eventdelivery-timeout
 
که این مورد، مقدار پیش فرض 5 را بر میگرداند (به دقیقه) و به کمک دستوز زیر آن را به روز میکنیم (به 10 دقیقه):
 
stsadm -o setproperty -pn workflow-eventdelivery-timeout -pv "10"
 
 
لازم به ذکر است موارد تغییر یافته فوق وابسته به نیاز شما می باشد و دلیلی ندارد حتما مانند این مثالها رفتار شود . همچنین بعد از انجام هر بروز رسانی باید پیغام زیر را مشاهده کنید :
Operation Completed Successfully 

  • #
    ‫۱۰ سال و ۳ ماه قبل، یکشنبه ۲۵ خرداد ۱۳۹۳، ساعت ۰۴:۱۹
    سلام. ممنون بابت مطلب مفیدتون. من همه این موارد رو انجام دادم ولی کماکان مشکل ماندن گردش کارها در صف رو دارم. بعضا هم کلا بی خیال می‌شم و مجبور می‌شم terminate workflow را بزنم و دوباره گردش کار رو اجرا کنم که بعد از چند بار انجام دادن گردش کار با موفقیت انجام می‌شود. راه حلی به نظرتون می‌رسه؟