Скажите Ruby Program подождать некоторое время

Первым шагом будет установка уникального ключа в таблице:

ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);

Затем вам нужно решить, что вы хотите сделать, когда есть дубликат. Если вы:

  1. игнорировать его?
    INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
    
  2. Перезаписать ранее введенную запись?
    INSERT INTO thetable (pageid, name, somefield)
    VALUES (1, "foo", "first")
    ON DUPLICATE KEY UPDATE (somefield = 'first')
    
    INSERT INTO thetable (pageid, name, somefield)
    VALUES (1, "foo", "second")
    ON DUPLICATE KEY UPDATE (somefield = 'second')
    
  3. Обновить какой-то счетчик?
    INSERT INTO thetable (pageid, name)
    VALUES (1, "foo"), (1, "foo")
    ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)
    
375
задан Eric Leschinski 25 May 2016 в 00:58
поделиться

4 ответа

Например:

sleep(num_secs)

Значение num_secs может быть целым числом или числом с плавающей запятой.

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

sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
602
ответ дан user664833 25 May 2016 в 00:58
поделиться

sleep 6 будет спать в течение 6 секунд. В течение более длительного времени вы также можете использовать sleep(6.minutes) или sleep(6.hours).

1
ответ дан Jon 25 May 2016 в 00:58
поделиться

Я считаю until очень полезным со сном. Пример:

> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true
0
ответ дан Varun Garg 25 May 2016 в 00:58
поделиться

Используйте sleep примерно так:

sleep 2

Это будет спать в течение 2 секунд.

Будьте осторожны, чтобы привести аргумент. Если вы просто запустите sleep, процесс будет спать вечно. (Это полезно, когда вы хотите, чтобы поток спал, пока он не проснулся.)

111
ответ дан Clinton N. Dreisbach 25 May 2016 в 00:58
поделиться
Другие вопросы по тегам:

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