За последние 24 часа нас посетили 8939 программистов и 168 роботов. Сейчас ищут 170 программистов ...

Как правильно на windows запускать php файлик с какой либо периодичностью?

Тема в разделе "PHP для новичков", создана пользователем Artur_hopf, 15 май 2019.

  1. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    711
    Симпатии:
    106
    Добрый день. Есть необходимость запуска php файлика с определенной периодичностью, например раз в 10 минут. Подскажите пожалуйста как это правильно сделать на windows?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.394
    Симпатии:
    296
    Адрес:
    Татарстан
    дык планировщик виндовый никто не отменял
     
    [vs] и Vanchot нравится это.
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    711
    Симпатии:
    106
    @ADSoft а код внутри файлика будет выполнятся? Он поймет теги <?php
     
  4. Valick

    Valick Новичок

    С нами с:
    12 авг 2018
    Сообщения:
    929
    Симпатии:
    160
    @Artur_hopf, ты не перестаёшь удивлять. Для веб запуском РНР интерпретатора занимается сервер (например апач), если хочешь юзать планировщик, то придётся запускать РНР самому. Другое дело нафиг тебе вообще понадобилось запускать скрипт раз в 10 минут. Чаще всего это происходит из-за отсутствия знаний для грамотного решения "проблемы".
     
    Dmitry Lazarev нравится это.
  5. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    711
    Симпатии:
    106
    @Valick ну вот смотри. Сейчас когда клиент подключается к серверу, сервер лезет в бд и смотрит там наличие нужной информации. Если этой информации там нет он опрашивает 1C бухгалтерию, тянет информацию оттуда, записывает в бд и только потом отдает клиенту.

    Нужно чтобы информация была заранее, а не тогда когда клиент залезет на сайт.
    Хочу сделать отдельную связь БД -> 1С -> БД где клиент был бы вообще не приделах.
    --- Добавлено ---
    В реалиях кода это выглядит так, есть некая таблица с id:
    Код (Text):
    1.  
    2. ID                                  |OID
    3. E53783D7-262D-44EA-841A-4365FA6E5BB1 E0472205-8C90-4C66-A5EF-F36BE9399875
    4. 8EACD165-904C-4F7B-9939-492D5BA95093 0C24D28A-CC4A-44F7-89A9-6D6BC5EB3BF1
    5. 6477A186-600F-4555-8E26-FFFF6489F96D 5B22FE0E-36A5-42AE-A280-93E6D47B4044
    6. 198630FC-2A6B-4145-9439-BF3252C1BE2F E0472205-8C90-4C66-A5EF-F36BE9399875
    7. 963575F9-AA51-44C2-A1D6-12E6D876C4A5 93E8FECB-8782-4357-B0FC-75C147594F50
    8. CF7F354C-ADF9-4D3B-B359-ED5ED52C7BC3 93E8FECB-8782-4357-B0FC-75C147594F50
    9. E4E55614-4BD1-4297-BA06-5E3CC0CB99D2 93E8FECB-8782-4357-B0FC-75C147594F50
    10. 211A66AA-89AB-4E4B-90E4-B082DF070511 E0472205-8C90-4C66-A5EF-F36BE9399875
    11. 713B540A-8DEE-4B0F-9D9F-9371EA271E9B B8BBC8B6-F36F-434F-9574-91CDAF1E708D
    12. ADF26F6B-88D0-4CB1-817C-7319A0F913DE 0ADA876A-4C54-4EFB-8D72-62CE5CEE1A3E
    13. CF01E5D7-147F-4619-821C-44BA6DB6B057 5B22FE0E-36A5-42AE-A280-93E6D47B4044
    14. E0E63693-C3C2-4BCE-B1A7-B5690064AA52 B8BBC8B6-F36F-434F-9574-91CDAF1E708D
    15. F00F71F2-D2E9-406A-818C-DD1683320366 B8BBC8B6-F36F-434F-9574-91CDAF1E708D
    16. 8B98C85C-3FE4-4127-9BE6-09C741F4F392 4E54A711-2C00-41FB-BC23-B27002F03127
    17. B46E3D0D-0E37-4F79-B3EC-57ED8AC8A089 0C24D28A-CC4A-44F7-89A9-6D6BC5EB3BF1
    18. D6356E39-DF83-4188-8365-03A3E838CE49 0ADA876A-4C54-4EFB-8D72-62CE5CEE1A3E
    19. 78C7686C-7C8A-44BF-9D91-13B6BC018FF3 B8BBC8B6-F36F-434F-9574-91CDAF1E708D
    20. 920F1FB8-2138-4A63-B2FC-495F63D49A51 4E54A711-2C00-41FB-BC23-B27002F03127
    21. 73B14CD4-CEB8-4065-AA81-D6080110F4A3 93E8FECB-8782-4357-B0FC-75C147594F50
    Оттуда тырятся данные в таком виде:
    Код (Text):
    1. E0472205-8C90-4C66-A5EF-F36BE9399875
    2. 0C24D28A-CC4A-44F7-89A9-6D6BC5EB3BF1
    3. 5B22FE0E-36A5-42AE-A280-93E6D47B4044
    4. 93E8FECB-8782-4357-B0FC-75C147594F50
    5. B8BBC8B6-F36F-434F-9574-91CDAF1E708D
    6. 0ADA876A-4C54-4EFB-8D72-62CE5CEE1A3E
    7. 4E54A711-2C00-41FB-BC23-B27002F03127
    Эти id проверяются на существование в другой таблице, например за сегодня 12 часов дня. Если таковых данных нет по определенному id, он улетает в 1C, там долго ищет кучу данных и возвращается массивчик. Который и записывается в бд.

    Сейчас этот процесс запускает клиент. Вот хочу убрать это ненужное звено.
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.394
    Симпатии:
    296
    Адрес:
    Татарстан
    ну надеюсь ты знаешь как запускать код php в консоле в винде?
    в зависимости от настроек окружения и путей может быть что то типа
    php script.php или path/to/php/php.exr path/to/script/script.php

    что касаемо архитектуры решения., давно как то делал синхрон с 1с, там вроде в самой 1с есть механизм запуска тех или иных действий, - в том числе выгрузки/загрузки по расписанию
     
    Dmitry Lazarev и Artur_hopf нравится это.
  7. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    711
    Симпатии:
    106
    @ADSoft хорошо, спасибо. Задача стоит чтобы и 1с ничего не знала о каком то там php, чтобы 1сников не дергать если что то надо будет переделать.
     
  8. yanuzay

    yanuzay Новичок

    С нами с:
    28 мар 2018
    Сообщения:
    281
    Симпатии:
    29
    например в openserver есть Планировщик заданий, читай cron.
    Либо через консоль, как пишет ADSoft
     
  9. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.394
    Симпатии:
    296
    Адрес:
    Татарстан
    Ну обычно она и не знает, не помню как задача называлась - типа обмен с интернет магазом - вот там настраиваешь все на свой локальный сайт (скрипт) и все. И 1с думает что просто переодически идет выгрузка загрузка в интернет магаз - что в принципе близко к реальности ))
     
  10. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    711
    Симпатии:
    106
    если я в сценарий планировщика напишу такую строку, это корректно отработает?:
    Код (Text):
    1. C:\Program Files (x86)\php>php.exe -f C:\inetpub\work1C\sql.php
    в консоле все отрабатывает.
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    6.521
    Симпатии:
    1.226
    Если в консоли обрабатывает, значит и в планировщике запустится
     
    Artur_hopf нравится это.
  12. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    711
    Симпатии:
    106
    @mkramer хорошо, спасибо, я этим не занимался раньше просто =)
     
  13. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    113
    Симпатии:
    1
    Открывает новые вкладки и запускает в них код с задержкой

    Код (Text):
    1.    <?php
    2.     $file....=данныеилитаймвсек
    3.     $suite="laravel.php?blog2=".$file07."&blog3=$time.....     ";
    4.     echo '<script type="text/javascript">window.open("'.$suite.'");</script>';
    5.     ?>
    6.  
    7.     <?php laravel
    8. $time=$_GET('blog3');
    9.     set_time_limit($time+10);
    10.     sleep($time)
    11.  
    12.     $file ='people.txt';
    13.  
    14.     $current = file_get_contents($file);
    15.  
    16.     $current .= date("H:i:s");
    17.     // Пишем содержимое обратно в файл
    18.     file_put_contents($file, $current);
    19.  
    20.     ?>
     
  14. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    6.521
    Симпатии:
    1.226
    @Kvandaik енто зачем так делать?
     
  15. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    113
    Симпатии:
    1
    есть допустим страничка, где происходит авторизация потом curl вносятся данные и присходит ответ exec для этого нужно время, и так последовательно несколько раз, чтоб все корректно отрабатывало, сделал так в каждой вкладке открывается страничка 1 срабатывает сразу, вторая сек через 5 след через 10, тем самым не нагружаю сервер, и данные ложатся поочереди итд.
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    6.521
    Симпатии:
    1.226
    @Kvandaik, есть очереди для таких вещей :)
     
  17. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    113
    Симпатии:
    1
    вот допустим чекбоксы там 10 шт, я их всех выбрал, и нажал отправить. выполняется код по очереди) я делал так