(My)SQL/C/Perl vraag

Pagina: 1
Acties:

  • it0
  • Registratie: April 2000
  • Laatst online: 27-12-2025

it0

Mijn mening is een feit.

Topicstarter
Ik heb een stuk software met een sql backend web frontend en nog eens een aparte deamon, die op commando taken moet uitvoeren.

Hoe kan je dit het beste doen zonder steeds te pollen?

- Signals gaat niet want het zijn verschillende users
- Kan mysql taken starten?
- Zou je een soort device kunnen maken waar een cgi script iets in stopt en een deamon uit leest?

scripts schrijf ik het liefst in Perl en deamon's in C maar al iemand suggesties heeft hoor ik het graag, ik zie vast iets over het hoofd?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ok je bent mij kwijt
waarom wil je pollen?
wat wil je nou exact?

Doet iets met Cloud (MS/IBM)


  • it0
  • Registratie: April 2000
  • Laatst online: 27-12-2025

it0

Mijn mening is een feit.

Topicstarter
Ik wil dat je via een cgi script data in een sql data propt (kan ik) en dat daarna de deamon wakker wordt en de data uit de DB gaat lezen en er dingen mee doen. Dit in tegenstelling door elke x seconden in de DB te kijken of er dingen gedaan moeten worden(pollen).

Ik wil dus niet pollen, maar liever via een trigger/pipe werken.

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 19:19

odysseus

Debian GNU/Linux Sid

Waarom zou je dat 'wakker maken' door MySQL laten regelen? Je kunt toch prima een signaal vanuit het CGI-script naar de daemon sturen, eventueel met allerlei informatie als gebruikersnamen en sessies?

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

- Signals gaat niet want het zijn verschillende users
En dan gaat het niet omdat...?


Ik zou gewoon de daemon laten pollen zodra er een (hup)-signal binnenkomt.. en vanuit het scriptje een system("kill -HUP `pidof <daemon>`") doen.

[ Voor 0% gewijzigd door JayTaph op 23-09-2002 15:57 . Reden: watbenjedan? ]

Yo dawg, I heard you like posts so I posted below your post so you can post again.


  • it0
  • Registratie: April 2000
  • Laatst online: 27-12-2025

it0

Mijn mening is een feit.

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/tmp/sigtest.pl &
it0@thuis:/root$ id
uid=1000(it0) 
it0@thuis:/root$ su - surf

surf@thuis:~$ ps ax|grep sigt
25367 pts/10   R      0:25 /usr/bin/perl /tmp/sigtest.pl

surf@thuis:~$ kill -HUP 25367
-su: kill: (25367) - Operation not permitted
surf@thuis:~$ cat /tmp/sigtest.pl
#!/usr/bin/perl
sub catch_zap {
    my $signame = shift;
    $shucks++;
    die "Somebody sent me a SIG$signame!";
        &mainloop;
}
$SIG{HUP} = \&catch_zap;  # best strategy

&mainloop();

sub mainloop(){
while(1){};
}


daarom dus

  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

ok.. ik was even benieuwd wat je nou precies bedoelde :-)

Optie is om een suid-wrapper om een kill-programmatje heen te bouwen? Niet echt netjes, maar dat zou een makkelijke oplossing zijn iig..

Yo dawg, I heard you like posts so I posted below your post so you can post again.


Verwijderd

it0 schreef op 23 september 2002 @ 15:47:
Ik wil dat je via een cgi script data in een sql data propt (kan ik) en dat daarna de deamon wakker wordt en de data uit de DB gaat lezen en er dingen mee doen. Dit in tegenstelling door elke x seconden in de DB te kijken of er dingen gedaan moeten worden(pollen).

Ik wil dus niet pollen, maar liever via een trigger/pipe werken.
ben nieuwsgierig :)
dus jij wilt eigenlijk dit:
code:
1
web - (invoer) -> mysql --- (trigger) ---> deamon -> doiets

maar waarom wil je niet:
code:
1
2
web - (invoer) -> mysql
           |__,-> deamon -> doeits


?? :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Je kunt volgens mij best die deamon laten luisteren naar een bepaalde poort en vervolgens in je webscriptje deze poort openen om de opdracht door te sturen.. Desnoods sta je alleen localhost toe. Lijkt me niet al te lastig.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • it0
  • Registratie: April 2000
  • Laatst online: 27-12-2025

it0

Mijn mening is een feit.

Topicstarter
Janoz schreef op 23 september 2002 @ 17:23:
Je kunt volgens mij best die deamon laten luisteren naar een bepaalde poort en vervolgens in je webscriptje deze poort openen om de opdracht door te sturen.. Desnoods sta je alleen localhost toe. Lijkt me niet al te lastig.
Hmm slim idee, niet eens bij stil gestaan... maar je moet dit toch ook zonder sockets kunnen doen ??

  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

it0 schreef op 23 september 2002 @ 22:22:
[...]


Hmm slim idee, niet eens bij stil gestaan... maar je moet dit toch ook zonder sockets kunnen doen ??


named pipes :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1