Эта документация предназначена для API, который вы сейчас упоминаете.Идея будет та же: вам нужно указать параметр, когда вы хотите, чтобы задача была выполнена.В этом случае у вас есть разные варианты, такие как countdown
или eta
.Вот специальная документация для метода, который вы используете для добавления задачи в очередь (taskqueue.add
)
ОРИГИНАЛЬНЫЙ ОТВЕТ
Есливы следуете этому руководству для создания очередей и задач , вы увидите, что оно основано на следующем github repo .Если вы идете в файл, где создаются задачи (create_app_engine_queue_task.py
).Здесь вы должны указать время, когда задача должна быть выполнена.В этом уроке, чтобы наконец создать задачу, они используют следующую команду:
python create_app_engine_queue_task.py --project=$PROJECT_ID --location=$LOCATION_ID --queue=$QUEUE_ID --payload=hello
Тем не менее, вам не хватает времени, когда вы хотите ее выполнить, она должна выглядеть следующим образом
python create_app_engine_queue_task.py --project=$PROJECT_ID --location=$LOCATION_ID --queue=$QUEUE_ID --payload=hello --in_seconds=["countdown" for when the task will be executed, in seconds]
По сути, ключ находится в этой части кода в create_app_engine_queue_task.py
:
if in_seconds is not None:
# Convert "seconds from now" into an rfc3339 datetime string.
d = datetime.datetime.utcnow() + datetime.timedelta(seconds=in_seconds)
# Create Timestamp protobuf.
timestamp = timestamp_pb2.Timestamp()
timestamp.FromDatetime(d)
# Add the timestamp to the tasks.
task['schedule_time'] = timestamp
Если вы создадите задачу сейчас и перейдете на консоль, вы увидите, что ваша задача будет выполнена и исчезнетиз очереди за указанное вами количество секунд.