Как я могу назвать функцию в определенное время в торнадо

это использование для Scope так же, как это

  <script type="text/javascript" language="javascript">
$('#tbleName tbody tr').each(function{
var txt='';
txt += $(this).find("td").eq(0).text();
\\same as above but synatx different
var txt1='';
 txt1+=$('#tbleName tbody tr').eq(0).text();
alert(txt1)
});
</script>

значение txt1 и txt одинаково в вышеприведенном примере $ (this) = $ ('# tbleName tbody tr') - Same

0
задан GianhTran 13 July 2018 в 16:31
поделиться

2 ответа

Нет, вам не нужно ничего подклассифицировать. Вам просто нужно вызвать ioloop.IOLoop.current(), чтобы получить текущий исполняемый экземпляр ioloop, а затем вызвать call_at для запуска вашей функции.

Однако, вместо call_at, проще использовать call_later.

Пример с помощью call_later:

ioloop.IOLoop.current().call_later(delay=10, callback=your_function)

# Tornado will run `your_function` after 10 seconds.

Если вы все еще хотите использовать call_at, вот пример:

current_time = ioloop.IOLoop.current().time()
call_time = current_time + 10
ioloop.IOLoop.current().call_at(when=call_time, callback=your_function)

# Tornado will run `your_function` after 10 seconds

UPDATE:

Чтобы запустить функцию в определенное время, вы можете сделать это:

from datetime import datetime

# take note of the current time
now = datetime.now()

# create a datetime object of when you want to call your function
call_time = datetime(year=2018, month=7, day=18, hour=14, minute=30) 

# find the time difference in seconds between `call_time` and `now`
call_time_seconds = (call_time - now).seconds

ioloop.IOLoop.current().call_later(delay=call_time_seconds, callback=your_function)
# Tornado will run your function at 14:30 on 18 July.
1
ответ дан xyres 17 August 2018 в 12:30
поделиться
  • 1
    tnx, теперь у меня проблема с переменной call_time. Я хочу вызывать свою функцию в 14:30 каждого дня, но время аспектное - это преобразование данных / времени в целое число: например: 1 531736291.360915 есть режим для вызова функции call_at определенное время? – Paul 16 July 2018 в 10:27
  • 2
    @Paul Я обновил ответ. Взглянуть. – xyres 17 July 2018 в 05:23

Вы должны использовать PeriodicCallback

класс tornado.ioloop.PeriodicCallback (обратный вызов, callback_time, io_loop = None)

0
ответ дан SamAtWork 17 August 2018 в 12:30
поделиться
  • 1
    PeriodicCallback следует использовать, когда вы хотите периодически запускать что-то снова и снова. Из вопроса, похоже, что OP хочет вызвать функцию только один раз. В этом случае call_at или call_later представляется лучшим выбором. – xyres 14 July 2018 в 03:49
  • 2
    Мне нужно вызывать свою функцию каждый день в одно и то же время, но в определенное время: например: 14:30:00 – Paul 16 July 2018 в 12:19
Другие вопросы по тегам:

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