2013-08-05 4 views
0

В NetSuite только один экземпляр запланированных скриптов может находиться в очереди в данный момент. Смысл, пытаясь запланировать сценарий, который уже находится в очереди или находится в процессе, приведет к статусу «INQUEUE» или «INPROGRESS», и скрипт будет проигнорирован.Netsuite - планирование одного и того же сценария более одного раза

Есть ли какие-либо работы в раундах? Какие-либо решения этой проблемы?

Мне нужно иметь возможность запланировать один и тот же сценарий несколько раз. Планирование выполняется с помощью nlapiScheduleScript и запускается автоматически в событии после отправки.

Спасибо.

ответ

1

Вы можете создать несколько развертываний одной очереди для их параллельной работы.

0

NetSuite предлагает клиентам возможность оплачивать больше запланированных очередей сценариев. Затем вы просто создадите отдельные развертывания для каждой доступной очереди.

Если это не вариант для клиента, вы можете создать пользовательскую запись, которая представляет вашу собственную запланированную очередь сценариев. Вместо того, чтобы просто звонить nlapiScheduleScript, вы по существу создаете собственную запись записи сценария для планирования с любыми значениями параметров скрипта.

0

Чтобы расширить ответ Saqib, вы можете создать несколько развертываний сценария, а затем вызвать nlapiScheduleScript и указать нулевое значение для параметра идентификатора развертывания. Это немедленно выполнит бесплатное и доступное развертывание сценария и поместит его в очередь.

1

Same Script получает несколько запросов для выполнения

Там может быть случаи, когда у вас есть параллельных (одновременный) просит пнуть давно запущенные задачи.

В подобных ситуациях, вы хотите, чтобы иметь возможность планировать следующий доступный развертывания для каждого запроса, который приходит.

Для примера, если вы считаете, что при пиковой нагрузке вы может получить пять запросов в заданный временной интервал, то вам понадобится, по крайней мере, то, что доступно много развертываний сценариев, чтобы каждый запрос получил свое собственное выделенное развертывание сценария. Обратите внимание, что если одно из развертываний уже выполняется или находится в очереди, наилучшей практикой является количество запросов, которые вы ожидаете в течение некоторого периода времени (например, в течение пятиминутного периода - это больше, чем среднее время выполнения скрипта), а затем умножить на два, чтобы получить количество развертываний скриптов, которые вам понадобятся, чтобы обеспечить загрузку. В этом случае вы захотите создать 10 развертываний для одного и того же сценария.

Сообщите мне, если это неясно.

var status=nlapiScheduleScript(scriptId,deploymentId,params) 

Таким образом, здесь вы можете использовать различные варианты развертывания после проверки состояния, которое должно быть в поле QQuue.

Смежные вопросы