O que há de Novo?
Fórum Outer Space - O maior fórum de games do Brasil

Registre uma conta gratuita hoje para se tornar um membro! Uma vez conectado, você poderá participar neste site adicionando seus próprios tópicos e postagens, além de se conectar com outros membros por meio de sua própria caixa de entrada privada!

  • Anunciando os planos GOLD no Fórum Outer Space
    Visitante, agora você pode ajudar o Fórum Outer Space e receber alguns recursos exclusivos, incluindo navegação sem anúncios e dois temas exclusivos. Veja os detalhes aqui.


[DesenvOSvedores]AGORA A PICA É EM BASH

NyKiO

Ei mãe, 500 pontos!
Mensagens
2.681
Reações
2.068
Pontos
704
Tetas,

Estou utilizando um portal de ticket (osTicket) em meu ambiente interno para atender os clientes. Preciso que, caso o cliente fique x dias sem responder, o sistema mande um e-mail (já configurado e funcionando) para o cliente, avisando que o ticket continua aberto e sem sua resposta. Já existe esse sistema por padrão no osTicket, mas para os agentes, sendo que, se o SLA estoure, os agentes envolvidos no chamado recebem um e-mail alertando sobre o atraso.

Estou pensando em criar um script (bash ou python) para ler a tabela do banco de dados, jogar o conteúdo da data de ultima resposta do ticket em uma variável, checar se essa variável é maior que x dias e, se sim, chamar a função que manda um e-mail, jogando o e-mail do autor do chamado em uma variável e lendo essa variável na função mail.

Há a possibilidade de contratar para um freela, porém, aí precisamos discutir valores e tempo.
 

jcsilva87

Ei mãe, 500 pontos!
Mensagens
671
Reações
282
Pontos
544
2210949_1.jpg
 

dk120

Lenda da internet
Mensagens
41.894
Reações
95.017
Pontos
2.179
Sim essa pergunta está muito aberta. Ninguem vai responder. No stack overflow tem que perguntar algo do tipo "qual é a forma correta de enviar e-mail pelo python?".
 

jcsilva87

Ei mãe, 500 pontos!
Mensagens
671
Reações
282
Pontos
544
Se fosse no SQL Server eu sei que tem uma função dele mesmo onde vc consegue enviar um e-mail direto da query. Agora no MySQL parece que vc vai ter que usar um tal de OUTFILE pra escrever um arquivo de texto com o que vc quer que esteja no e-mail e enviar usando algo externo ao MySQL.
Pra verificar isso de "X dias sem responder" você deve ter que usar o CREATE EVENT do MySQL.
 


NyKiO

Ei mãe, 500 pontos!
Mensagens
2.681
Reações
2.068
Pontos
704
Sim essa pergunta está muito aberta. Ninguem vai responder. No stack overflow tem que perguntar algo do tipo "qual é a forma correta de enviar e-mail pelo python?".

O problema é que eu não quero saber como enviar email pelo python, eu preciso desenvolver um meio pra ler a tabela, jogar todas as linhas num vetor, definir que a ultima resposta já tem mais de 3 dias, ler o ID do usuario que mandou, acessar a outra tabela para ler o ID do usuário e o seu nome/e-mail, para ai armazenar o nome e o e-mal em duas variáveis pra ai sim mandar o e-mail...
Se fosse no SQL Server eu sei que tem uma função dele mesmo onde vc consegue enviar um e-mail direto da query. Agora no MySQL parece que vc vai ter que usar um tal de OUTFILE pra escrever um arquivo de texto com o que vc quer que esteja no e-mail e enviar usando algo externo ao MySQL.
Pra verificar isso de "X dias sem responder" você deve ter que usar o CREATE EVENT do MySQL.
Vou dar uma lida sobre o outfile e o o create event. Valeu!
 

Bug_Secular

Bam-bam-bam
Mensagens
3.357
Reações
4.789
Pontos
303
Minha ideia seria criar um mini servidor (um script q ficara rodando sozinho pra sempre), pegar os dados e guardar num vetor, e verificar as datas dos mesmos. Todo dia verificar as datas e ver se tem alguma pra hj, e alertar se encontrar. Eu faria desse jeito.
 

DieGoO_

Ei mãe, 500 pontos!
Mensagens
874
Reações
677
Pontos
543
Eu faria com nodejs.
Ele é leve e cheio de bibliotecas, em uma pesquisa rápida já achei o cron pra schedular, a lib de enviar email e a lib pra conectar no mysql.

Sent from my SM-J530G using Tapatalk
 

NyKiO

Ei mãe, 500 pontos!
Mensagens
2.681
Reações
2.068
Pontos
704
Minha ideia seria criar um mini servidor (um script q ficara rodando sozinho pra sempre), pegar os dados e guardar num vetor, e verificar as datas dos mesmos. Todo dia verificar as datas e ver se tem alguma pra hj, e alertar se encontrar. Eu faria desse jeito.

Então, é exatamente aplicar isso que eu não sei como fazer direito :klol

Pode ser em python, NodeJS, bash, o que importa é funcionar. Depois, com o script pronto, jogar no cron pra ele rodar todos os dias, não são algumas horas de diferença que vão me matar, não precisa ser nada exato nos 3 dias.

Eu faria com nodejs.
Ele é leve e cheio de bibliotecas, em uma pesquisa rápida já achei o cron pra schedular, a lib de enviar email e a lib pra conectar no mysql.

Sent from my SM-J530G using Tapatalk

Nunca mexi com NodeJS, poderia me enviar esses links pra eu dar uma olhada?
 

DieGoO_

Ei mãe, 500 pontos!
Mensagens
874
Reações
677
Pontos
543
Então, é exatamente aplicar isso que eu não sei como fazer direito :klol

Pode ser em python, NodeJS, bash, o que importa é funcionar. Depois, com o script pronto, jogar no cron pra ele rodar todos os dias, não são algumas horas de diferença que vão me matar, não precisa ser nada exato nos 3 dias.



Nunca mexi com NodeJS, poderia me enviar esses links pra eu dar uma olhada?
Conhece o site npm?
Procure lá cron, mysql e node mail

Sent from my SM-J530G using Tapatalk
 

Dig Joy

Vem brincar comigo!
VIP
Mensagens
9.045
Reações
23.074
Pontos
353
Isso dai é fácil demais hahahaha.
As datas são salvas como?
 

Bug_Secular

Bam-bam-bam
Mensagens
3.357
Reações
4.789
Pontos
303
Então, é exatamente aplicar isso que eu não sei como fazer direito :klol

Pode ser em python, NodeJS, bash, o que importa é funcionar. Depois, com o script pronto, jogar no cron pra ele rodar todos os dias, não são algumas horas de diferença que vão me matar, não precisa ser nada exato nos 3 dias.

Essa semana, quando eu ficar mais folgado, vou me arriscar em fzr um "simplizão" em Python.
 

Megabyte 2.0

Bam-bam-bam
Mensagens
3.481
Reações
5.334
Pontos
303
Minha ideia seria criar um mini servidor (um script q ficara rodando sozinho pra sempre), pegar os dados e guardar num vetor, e verificar as datas dos mesmos. Todo dia verificar as datas e ver se tem alguma pra hj, e alertar se encontrar. Eu faria desse jeito.

Mais isso é muito complexo, principalmente a parte de enviar email a partir do servidor.
 

NyKiO

Ei mãe, 500 pontos!
Mensagens
2.681
Reações
2.068
Pontos
704
Isso dai é fácil demais hahahaha.
As datas são salvas como?
Vou ver agora de tarde e te falo, mas, se eu não me engano, é algo como 2018-09-30 10:00:00

Tem que necessariamente ser em Python, pode ser numa outra linguagem?

Pode ser em qualquer uma, até bash já salvaria minha vida

Mais isso é muito complexo, principalmente a parte de enviar email a partir do servidor.

A parte de mandar e-mail até que é fácil, eu já configurei o postfix pra usar o nosso servidor SMTP externo (usando o interno a maioria dos provedores não recebia a mensagem), então é só dar um "echo "Corpo do email" | mail -S "Titulo" remetente@servidor.com" ou alguma coisa muito parecida. Usando um OUTFILE, como já disseram ali em cima, seria só jogar fazer um script que lê várias linhas com um for e jogar o primeiro campo como nome e o segundo como e-mail em duas variáveis... Eu estou travado mais na hora de manipular o banco
 

Dig Joy

Vem brincar comigo!
VIP
Mensagens
9.045
Reações
23.074
Pontos
353
Vou ver agora de tarde e te falo, mas, se eu não me engano, é algo como 2018-09-30 10:00:00



Pode ser em qualquer uma, até bash já salvaria minha vida



A parte de mandar e-mail até que é fácil, eu já configurei o postfix pra usar o nosso servidor SMTP externo (usando o interno a maioria dos provedores não recebia a mensagem), então é só dar um "echo "Corpo do email" | mail -S "Titulo" remetente@servidor.com" ou alguma coisa muito parecida. Usando um OUTFILE, como já disseram ali em cima, seria só jogar fazer um script que lê várias linhas com um for e jogar o primeiro campo como nome e o segundo como e-mail em duas variáveis... Eu estou travado mais na hora de manipular o banco
Primeiro tu vai fazer um get/requisição, pegando todos os emails até data X (Pegue somente a data e o endereço).
Vai usar uma função qualquer para comparar as datas, (Qual a ultima data desse email).
(Até aqui qualquer linguagem faz isso).
E depois chamar seu servidor de emails, para aqueles que são alvo da função.

Dá para fazer isso até em um .bat

Isso é muito simples, só não entendi uma coisa. Você usa um programa externo ou usa um programa que vocês mesmos programaram? E com isso quer mais uma ferramenta (externa).
 

NyKiO

Ei mãe, 500 pontos!
Mensagens
2.681
Reações
2.068
Pontos
704
Primeiro tu vai fazer um get/requisição, pegando todos os emails até data X (Pegue somente a data e o endereço).
Vai usar uma função qualquer para comparar as datas, (Qual a ultima data desse email).
(Até aqui qualquer linguagem faz isso).
E depois chamar seu servidor de emails, para aqueles que são alvo da função.

Dá para fazer isso até em um .bat

Isso é muito simples, só não entendi uma coisa. Você usa um programa externo ou usa um programa que vocês mesmos programaram? E com isso quer mais uma ferramenta (externa).

Eu vou usar o postfix pra redirecionar os e-mail para nosso servidor de hospedagem onde está o site, assim eu consigo centralizar tudo e o e-mail não vai ser barrado como spam. Nós usamos o osTicket como servidor de tickets, mas ele não faz a função de lembrar o usuário de responder o chamado depois de uns dias. O GET seria um SELECT usuario,email from osticket_open where data > 3 days (não sei como formular essa ultima parte, vai de exemplo :klol)?
 

Dig Joy

Vem brincar comigo!
VIP
Mensagens
9.045
Reações
23.074
Pontos
353
Eu vou usar o postfix pra redirecionar os e-mail para nosso servidor de hospedagem onde está o site, assim eu consigo centralizar tudo e o e-mail não vai ser barrado como spam. Nós usamos o osTicket como servidor de tickets, mas ele não faz a função de lembrar o usuário de responder o chamado depois de uns dias. O GET seria um SELECT usuario,email from osticket_open where data > 3 days (não sei como formular essa ultima parte, vai de exemplo :klol)?
select * from osticket_open where datas between '01-10-2018' and '26-09-2018' (Aqui 5 dias de espaço, verificar se o seu banco usa DD/MM/AAAA ou MM/DD/AA)

Ai depois pega essa lista e manipula usando uma função de checagem:

Dá um get da data atual para facilitar:
dataAtual = "get.data()" - 3 (Aqui cada linguagem tem seu método especifico de manipulação de datas)


Depois mapeia o resultado do sql (json), usando uma função if.
if ( osticketData <= dataAtual ){
manda email
}

Dessa maneira ele sempre vai mandar sem problemas, já que a data do sistema é pega automaticamente.
 

Sephirothrx7

Mil pontos, LOL!
Mensagens
12.406
Reações
2.292
Pontos
1.269
Acho que o mais fácil no seu caso é usar alguma linguagem scriptada, tipo Ruby, python ou node da vida onde você consegue usar facilmente os drivers pro banco, e configurar o crontab (se for Linux) pra rodar o script.

Enviado de meu Moto G (5) usando o Tapatalk
 

Pokemon das antigas

Bam-bam-bam
Mensagens
3.668
Reações
15.413
Pontos
453
Cara, ngm te ajudou em nd aqui ein? XD
Isso em python dá para fazer facinho.
Usa o celery para fazer o shedule e django no backend para ler a database e enviar os emails.
 

Dig Joy

Vem brincar comigo!
VIP
Mensagens
9.045
Reações
23.074
Pontos
353
Cara, ngm te ajudou em nd aqui ein? XD
Isso em python dá para fazer facinho.
Usa o celery para fazer o shedule e django no backend para ler a database e enviar os emails.
>Fala que ninguém ajudou em nada.
>Faz o que todo mundo fez: -Içu é muito fácil, usa linguagem X.
 

NyKiO

Ei mãe, 500 pontos!
Mensagens
2.681
Reações
2.068
Pontos
704
Acho que o mais fácil no seu caso é usar alguma linguagem scriptada, tipo Ruby, python ou node da vida onde você consegue usar facilmente os drivers pro banco, e configurar o crontab (se for Linux) pra rodar o script.

Enviado de meu Moto G (5) usando o Tapatalk

Então, por isso eu pensei no python, porque eu já sei usar e já imaginava que dava pra dar um import mysql da vida pra usar. Aí, eu jogo o script no cron.daily e corro pro abraço...

A é, isso considerando q vc ja tenha um servidor. Senão cria uma vm no google cloud que vai dar e sobrar

Já tenho os servidores, um pro portal e um pro DB, só preciso manipular a tabela, já ta tudo funcionando

select * from osticket_open where datas between '01-10-2018' and '26-09-2018' (Aqui 5 dias de espaço, verificar se o seu banco usa DD/MM/AAAA ou MM/DD/AA)

Ai depois pega essa lista e manipula usando uma função de checagem:

Dá um get da data atual para facilitar:
dataAtual = "get.data()" - 3 (Aqui cada linguagem tem seu método especifico de manipulação de datas)


Depois mapeia o resultado do sql (json), usando uma função if.
if ( osticketData <= dataAtual ){
manda email
}

Dessa maneira ele sempre vai mandar sem problemas, já que a data do sistema é pega automaticamente.

Vou abrir o banco aqui pra ver como ele roda e dar o select na mão pra ver como me retorna, nunca usei o OUTFILE então vou dar uma testada, valeu!
 

Dig Joy

Vem brincar comigo!
VIP
Mensagens
9.045
Reações
23.074
Pontos
353
cara, ele pediu bash ou python, passei a resposta em python. Agora vai, volta para o java.
Você fez exatamente o que criticou e ainda tá falando coisa sem sentido hahaha.
Nem em java eu programo :lolwtf.

Porem existe uma lei da programação que diz assim:
Linguagem boa é aquela que paga meu salário / resolve meu problema.
Essa conversinha (Você é lixo programa em java), só mostra que nunca vai chegar em nada com esse pensamento tosco.

Se o cara resolver o problema dele com COBOL, essa vai ser a linguagem boa.

Falei para ele o que fazer, usando uma query sql, já que o mesmo não especificou o banco.
O problema dele pelo jeito é a lógica, não tem nada a ver com a linguagem... Só não entendeu o que fazer mesmo e isso é super normal.
 

Pokemon das antigas

Bam-bam-bam
Mensagens
3.668
Reações
15.413
Pontos
453
Você fez exatamente o que criticou e ainda tá falando coisa sem sentido hahaha.
Nem em java eu programo :lolwtf.

Porem existe uma lei da programação que diz assim:
Linguagem boa é aquela que paga meu salário / resolve meu problema.
Essa conversinha (Você é lixo programa em java), só mostra que nunca vai chegar em nada com esse pensamento tosco.

Se o cara resolver o problema dele com COBOL, essa vai ser a linguagem boa.

Falei para ele o que fazer, usando uma query sql, já que o mesmo não especificou o banco.
O problema dele pelo jeito é a lógica, não tem nada a ver com a linguagem... Só não entendeu o que fazer mesmo e isso é super normal.
mano, vc deve estar uns 2 anos sem foder para querer arrumar treta com isso, definitivamente.
 

j0kk3r

Mil pontos, LOL!
VIP
Mensagens
12.352
Reações
16.925
Pontos
1.284
Bom... se você manja de qualquer linguagem de programação é fácil. Aqui mesmo no escritório eu tenho o seguinte esquema

- Java, acessa a base, verifica as datas e se necessário, envia e-mail / registra novas informações
- bash que roda o .java
- crontab com o agendamento que roda o bash

Só..
 
Topo Fundo