Обратные галочки работают в скрипте ruby ​​при запуске из командной строки, но не из Crontab

Самый простой способ - использовать библиотеку коллекций google:

import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap;

открытый класс Test {

public static void main(final String[] args) {

    // multimap can handle one key with a list of values
    final Multimap cars = ArrayListMultimap.create();
    cars.put("Nissan", "Qashqai");
    cars.put("Nissan", "Juke");
    cars.put("Bmw", "M3");
    cars.put("Bmw", "330E");
    cars.put("Bmw", "X6");
    cars.put("Bmw", "X5");

    cars.get("Bmw").forEach(System.out::println);

    // It will print the:
    // M3
    // 330E
    // X6
    // X5
}

}

maven link: https: // mvnrepository.com/artifact/com.google.collections/google-collections/1.0-rc2

подробнее об этом: http://tomjefferys.blogspot.be/2011/09 /multimaps-google-guava.html

1
задан Jamie G 18 March 2019 в 17:33
поделиться

2 ответа

Похоже, что это не проблема с рубином, а из-за вызова notify-send из crontab.

https://askubuntu.com/questions/298608/notify-send-doesnt-work-from-crontab

Одним из возможных решений было добавить DISPLAY=:0 к вашему сценарий:

`DISPLAY=:0 notify-send "Error in EYW Spaces script" "#{Shellwords.escape(message)}"`
0
ответ дан Ozer Chagatai 18 March 2019 в 17:33
поделиться

Возможные проблемы:

  • Пользователь, запустивший crontab (root, you, ???) и его системные разрешения
  • ruby версия и notify-send в этом пользователе PATH
  • Не указывать переменную DISPLAY в вашем cron

Попробуйте это (измените число на правильное значение DISPLAY) ->

*/5 * * * * DISPLAY=:0 ruby ~/software_dev/scripts/new_script.rb
[ 1111] Может быть полезно: https://unix.stackexchange.com/questions/10121/open-a-window-on-a-remote-x-display-why-cannot-open-display [ 1111]
0
ответ дан Greg Ruhl 18 March 2019 в 17:33
поделиться
Другие вопросы по тегам:

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