Я полагаю, вы выполняете трудоемкое моделирование на сервере, правильно?Если они работают на вашем собственном ПК, ваш компьютер все равно будет работать медленно, и я не увижу ничего полезного в отправке почты себе.
Для длинных вычислений: запускайте их на виртуальной машине, я используюследующий рабочий процесс для моих собственных расчетов.
- Напишите свой R-скрипт.Важно: Напишите файл .txt, когда файл расчета в конце.Сценарий оболочки будет в цикле искать файл для существования.
- Скопируйте этот код и сохраните его как скрипт Python.Однажды я пытался заставить MailR работать под Linux, и он не работал.Этот код работал с первой попытки.
#!/usr/bin/env python3
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
email_user = 'youownmail@gmail.com'
email_password = 'password'
email_send = 'theothersmail.com'
subject = 'yourreport'
msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject
body = 'Calculation is done'
msg.attach(MIMEText(body,'plain'))
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
msg.attach(part)
text = msg.as_string()
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(email_user,email_password)
server.sendmail(email_user,email_send,text)
server.quit()
Убедитесь, что вам разрешено запускать скрипт.
sudo chmod 777 /path/script.R
sudo chmod 777 /path/script.py
Запустите оба script.R
и script.py
в файле script.sh
.Это выглядит следующим образом:
R < /path/script.R --no-save
while [ ! -f /tmp/finished.txt ]
do
sleep 2
done
python path/script.py
Это может звучать немного ошеломляюще, если вы не знакомы с этими технологиями, но думаете, что это в значительной степени автоматизированный рабочий процесс, который облегчает ваши собственныересурсы и могут быть использованы "в производстве".(Я использую этот рабочий процесс для отправки мне своих собственных отчетов о запасах).