Возьмите каталог examples
в репозитории luigi
(git clone ...
и у вас есть каталог luigi
). Там вы можете найти несколько разных примеров, среди них:
hello_world.py
contains stuff like task_namespace = 'examples'
(that's the same as the python module examples
in the repository where all these python files are saved):
- this could be executed using just the
luigi
command (no need to have the daemon luigid
) from the outside of the python module examples
as: cd luigi && PYTHONPATH=. luigi --module examples.hello_world examples.HelloWorldTask --local-scheduler
top_artists.py
does not contain any reference to things like task_namespace
:
- this could be run from within the python module
examples
: cd luigi/examples && PYTHONPATH='.' luigi --module top_artists AggregateArtists --local-scheduler --date-interval 2012-06
У меня это сработало, используя miniconda (аналогично anaconda) и cygwin, но я думаю, что это может сработать, даже если вы не используете cygwin ( возможно, powershell
или cmd
не позволяют объединять команды с помощью &&
, но вы всегда можете запускать эти команды одну за другой).
Я не уверен в причинах / объяснениях, но для устранения неполадок в этом поведении вы можете поиграть с hello_world.py
и запустить его как cd luigi/examples && PYTHONPATH=. luigi --module hello_world HelloWorldTask --local-scheduler
(обратите внимание, что команда luigi
вызывается без examples.
в качестве префикса для параметров команды strong>), это приведет к следующему исключению:
raise TaskClassNotFoundException(cls._missing_task_msg(name))
luigi.task_register.TaskClassNotFoundException: No task HelloWorldTask. Candidates are: Config,ExternalTask,RangeBase,RangeByMinutes,RangeByMinutesBase,RangeDaily,RangeDailyBase,RangeHourly,RangeHourlyBase,Task,TestNotificationsTask,WrapperTask,batch_email,core,email,examples.HelloWorldTask,execution_summary,retcode,scheduler,sendgrid,smtp,worker
Чтобы дать некоторые подсказки по другой проблеме, связанной с демоном, я запускаю его на cygwin с помощью такой команды: luigid &
. Этот суффикс амперсанда возвращает вам приглашение командной строки. Чтобы проверить, какой PID связан с демоном, я все еще использую ту же командную строку в cygwin и запускаю ps aux | grep luigid
. Этот подход, вероятно, будет работать ТОЛЬКО на cygwin (из-за некоторых внутренних компонентов, связанных с bash).
person
TPPZ
schedule
29.03.2017