Как Вы выполняете crontab в Cygwin в Windows?

Не используйте внешний код для проверки на наличие дубликатов. Мощь базы данных (даже Access) максимизирует свои операции с наборами данных. Не пытайтесь переписать такой код, тем более что, как вы обнаружили, он неэффективен. Вместо этого импортируйте все во временную таблицу базы данных, а затем используйте Access (или соответствующий механизм данных Access) для выполнения операторов SQL для сравнения таблиц, либо находя, либо исключая повторяющиеся строки. Результаты этих запросов могут затем использоваться для создания и / или обновления других таблиц - все в контексте механизма базы данных. Конечно, создайте временную таблицу (таблицы) с соответствующими индексами и ключами, чтобы максимизировать эффективность.

В то же время, обычно быстрее (можно ли сказать всегда?) При локальном сравнении наборов данных (т.е. таблиц) загружать все значения в некоторую коллекцию с возможностью поиска из одного запроса к базе данных (например, оператора SQL SELECT), затем используйте эту коллекцию в памяти для поиска совпадений. Это может показаться ироничным после моего последнего утверждения о максимизации возможностей базы данных, но большая идея заключается в понимании того, как обрабатывается набор данных в целом. Транспортировка данных туда и обратно между процессами Python и механизмом базы данных, даже если они находятся на одной машине, будет намного медленнее, чем обработка всего внутри процесса Python или всего процесса внутри механизма базы данных. Единственный случай, который может оказаться бесполезным, это когда удаленный набор данных слишком велик для загрузки, но 87 000 значений ключей определенно достаточно малы, чтобы загрузить все значения в коллекцию Python.

97
задан fifi finance 2 June 2015 в 18:24
поделиться

2 ответа

Необходимо также установить cygrunsrv таким образом, можно настроить крон как сервис окон, затем работать cron-config.

Если Вы захотите, чтобы задания крона послали электронное письмо вывода, то необходимо будет также установить также exim или ssmtp (прежде чем выполнение cron-config.)

Посмотрите /usr/share/doc/Cygwin/cron-*.README для получения дополнительной информации.

Относительно программ без a .exe расширение, они - вероятно, сценарии оболочки некоторого типа. При рассмотрении первой строки файла, Вы видели, какую программу необходимо использовать для выполнения их (например,"#!/bin/sh"), таким образом, Вы могли, возможно, выполнить их от планировщика окон путем вызова программной оболочки (например,"C:\cygwin\bin\sh.exe -l /my/cygwin/path/to/prog".)

90
ответ дан Sopalajo de Arrierez 24 November 2019 в 05:25
поделиться

У Вас есть две опции:

  1. Крон установки как сервис окон, с помощью cygrunsrv:

    cygrunsrv -I cron -p /usr/sbin/cron -a -n
    
    net start cron
    

    Отметьте в (очень) старых версиях крона, необходимо использовать-D вместо-n

  2. 'Не .exe' файлы, вероятно, сценарии удара, таким образом, можно выполнить их через планировщик окон путем вызова удара для запущения скрипта, например:

    C:\cygwin\bin\bash.exe -l -c "./full-path/to/script.sh"
    
71
ответ дан Robert 24 November 2019 в 05:25
поделиться
Другие вопросы по тегам:

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