Как исправить отложенные задачи, отправляемые на неинициализированный экземпляр?

Ваша проблема - оператор с двойным равенством, который будет приписывать правый член типу слева. Используйте строгий, если хотите.

if($item['price'] == 'e') {
    $item['price'] = -1;
}

Вернемся к вашему коду (скопировано выше). В этом случае, в большинстве случаев, $ item ['price'] является целым числом (кроме случаев, когда оно равно e, очевидно). Таким образом, по законам PHP, PHP будет выводить "e" на integer, что дает int(0). (Не верьте мне? <?php $i="e"; echo (int)$i; ?>).

Чтобы легко уйти от этого, используйте оператор тройного равенства (точного сравнения), который будет проверять тип и не будет подразумевать тип.

PS: PHP забавный факт: a == b не означает, что b == a. Возьмите свой пример и отмените его: if ("e" == $item['price']) никогда не будет выполняться при условии, что $ item ['price'] всегда является целым числом.

0
задан Perry Goy 18 January 2019 в 19:03
поделиться

1 ответ

GAE разогревающие запросы предназначены именно для этого:

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

Вам просто нужно:

0
ответ дан Dan Cornilescu 18 January 2019 в 19:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: