کار پسزمینه TestRail، از جمله، وقتی این قابلیت فعال باشد اعلانهای ایمیلی مربوط به تغییرات تستها را ارسال میکند. این کار پسزمینه یک اسکریپت ساده PHP است که باید در بازههای زمانی منظم اجرا شود.
سادهترین روش این است که آن را با ابزارهای سیستمعامل خود بهعنوان یک background job زمانبندی کنید. در ادامه روش نصب کار پسزمینه در سیستمعاملهای Windows و Unix/Linux آمده است.
کار پسزمینه در Windows #
برای اجرای دورهای کار پسزمینه، از Windows Task Scheduler استفاده میکنیم. قبل از زمانبندی، میتوانید با اجرای دستی آن از command line مطمئن شوید که بدون مشکل اجرا میشود (x86 و x64):
#
مقدار «x.x» را با شماره نسخه واقعی جایگزین کنید.
> "C:\Program Files\PHP\x.x\php.exe" "C:\inetpub\wwwroot\testrail\task.php"
> REM Or, for x64 systems:
> "C:\Program Files (x86)\PHP\x.x\php.exe" "C:\inetpub\wwwroot\testrail\task.php"
#
مسیر واقعی PHP را در سیستم خود بررسی کنید؛ این مسیر ممکن است بسته به نسخه PHP که استفاده میکنید متفاوت باشد.
کار پسزمینه TestRail بهصورت خودکار تشخیص میدهد که آیا از قبل در حال اجرا است یا نه؛ بنابراین برای بهترین نتیجه بهتر است آن را در بازههای بسیار کوتاه، مثلا هر دقیقه، اجرا کنید. برای این کار، Windows Task Scheduler را باز کنید و گزینه Create Basic Task (Windows ۲۰۰۸) را انتخاب کنید.
حالا یک نام برای task وارد کنید و تنظیم کنید که task حتی وقتی هیچ کاربری وارد سیستم نشده است هم اجرا شود:
در تب Triggers یک trigger جدید اضافه کنید تا مشخص شود task چه زمانی اجرا شود:
در پایان، در تب Actions اکشن اجرای اسکریپت task مربوط به TestRail را اضافه کنید.
چون این اسکریپت با PHP نوشته شده است، باید مسیر php.exe و اسکریپت task.php را بهعنوان argument وارد کنیم (همراه با گیومه):
"C:\inetpub\wwwroot\testrail\task.php"
بهجای استفاده از GUIمربوط به Task Scheduler، میتوانید task را از command line هم بسازید. برای مثال، در Windows Server ۲۰۰۸:
schtasks /create /np /sc minute /mo 1 /tn "TestRail Background Task" /tr "\"C:\Program Files (x86)\PHP\v7.4\php.exe\" C:\inetpub\wwwroot\testrail\task.php"
کار پسزمینه در Unix/Linux #
در سیستمهای Unix/Linux از cron برای اجرای دورهای کار پسزمینه استفاده میکنیم. قبل از زمانبندی، میتوانید با اجرای دستی آن از command line مطمئن شوید که بدون مشکل اجرا میشود:
$ php /var/www/html/testrail/task.php
کار پسزمینه TestRail بهصورت خودکار تشخیص میدهد که آیا از قبل در حال اجرا است یا نه؛ بنابراین برای بهترین نتیجه بهتر است آن را در بازههای بسیار کوتاه، مثلا هر دقیقه، اجرا کنید. برای این کار، مطمئن شوید cron روی سیستم شما نصب است و فایلی ایجاد کنید /etc/cron.d/testrail با محتوای زیر:
* * * * * www-data /usr/bin/php /var/www/html/testrail/task.php
cron job به PHP command-line interface نیاز دارد که ممکن است از قبل روی سیستم شما نصب باشد. برای بررسی، دستور php -v را اجرا کنید. اگر نصب نبود، بسته php7.۲-cli یا بسته معادل آن را با package manager سیستمعامل خود نصب کنید.
#
همچنین اگر php-cli از فایل PHP.ini وبسرور استفاده نمیکند، extensionهای PHP ذکرشده در بالا را به PHP.ini آن اضافه کنید. برای مثال، در سیستمهای Ubuntu، extension مربوط به ioncube را به /etc/php/۷.۲/cli/php.ini هم اضافه کنید.

