Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Pavel Soukup
Člen
Avatar
Pavel Soukup:19.5.2018 20:41

Ahoj, mám menší problém ohledně zapnutí mého scriptu po určité době.

Například mým problémem je zapnutí a vypnutí pluginů ve wordpressu pomocí mého pluginu, kde by si uživatel mohl vypnout nebo zapnout všechny své pluginy třeba do 5 minut, 20 minut nebo třeba za 10 hodin.

Pokud by někdo byl tak ochotný a pomohl mi, budu mu velmi vděčný :)
Děkuji, Jakub Štolba.

 
Odpovědět
19.5.2018 20:41
Avatar
Nahoru Odpovědět
19.5.2018 21:16
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Pavel Soukup
Petr Čech:20.5.2018 0:04

Je to celkem problematické, ale dá se to udělat. Já to třeba vidím takto:

1.
Do databáze si uložíš, co se má kdy stát - reprezentaci si budeš muset vymyslet sám protože do tvého systému nevidíme ... a vzhledem k tomu, že to je Wordpress, musel bys pravděpodobně někomu zaplatit za spoustu času, kterou stráví hrabáním se v tom, co tam už je, protože nevím. proč by se někdo hrabal ve Wordpress kódu dobrovolně :D .

2.
Je třeba nastavit cron tak, aby volal něco, co rozhodne, co se provede - interval je třeba mít na nejmenší dělitel všech intervalů, takže předpokládám 5 min. Buď máš vlastní server a víš, jak to udělat, nebo si to nějak naklikáš v tvém hostingu.

3.
Ta nejtěžší část. Budeš potřebovat skript, co se bude volat cronem - ten si z databáze načte věci, co jsou třeba udělat a spustí vše ostatní - takže pravděpodobně bude muset otevřít nějaké URL s těmi akcemi - na to je dobré třeba rozšíření curl.

Nahoru Odpovědět
20.5.2018 0:04
the cake is a lie
Avatar
Pavel Soukup
Člen
Avatar
Odpovídá na Petr Čech
Pavel Soukup:20.5.2018 15:33

Ono co se týká cronu a vůbec hrabáním se ve WordPressu, tak napatrim k profesionálům, jsem studentem, takže zkouším s zkouším, ale myslel jsem, jestli by to třeba nešlo i JavaScriptem provést, protože ten taky může pracovat na této problematice

 
Nahoru Odpovědět
20.5.2018 15:33
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Pavel Soukup
Petr Čech:20.5.2018 16:43

Mno... spíš ne. Asi by to šlo Javascriptem jako node.js, ale v prohlížeči ne. JS má sice funkci setTimeout(), ale to by muselo to okno být otevřené celou dobu, než se to vykoná, což je zaprvé nespolehlivé a zadruhé nepraktické.

Nahoru Odpovědět
20.5.2018 16:43
the cake is a lie
Avatar
David Hynek
Tvůrce
Avatar
David Hynek:20.5.2018 20:13

K cemu to? Wordpress je stavebnice pro urcitou cinnost, mozna je i nejaky plugin co dela to co chces aby se delo. Ja ten system take nemam rad a dobrovolne bych mu do strev nelezl, ale to plati asi i o tech co do nej ty nove a nove moduly tvori, protoze tam je takovych kostlivcu, o kterych mnohdy nevi ani sami vyvojari...

Nahoru Odpovědět
20.5.2018 20:13
Čím víc vím, tím víc věcí nevím.
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21.5.2018 8:26

Presne.

Co to ma delat, k cemu to potrebujes? Treba je jine reseni.

Obecne se nevyplati vrtat do hotoveho programu tak rozsahleho jako WP. Spis je to pomerne narocna vec, pokud ho uz nemas prosmejdeny. Je treba si pohlidat, abys neudelal neco spatne, jinak muze nastat stav, kdyz zakaznik prijde o data. Tak, jak to je, spolehas na to, ze to maji dobre oni :)

Lze to resis cronem. V linuxu existuje program cron, ktery funguje jako planovac uloh. Zadas tam linuxovy prikaz, cas nebo interval jeho spousteni a on ho spusti. To ma smysl pouzit treba pro odesilani emailu zakaznikum.
Nekde muzes nastavovat cron sam, ale jinak na beznem hostingu jen pres adminy.

Samozrejme, vlastni planovac uloh si muzes udelat take. V intervalu (js setInterval) precte nejaky soubor ze serveru. Spusti nejaky js. A ten spusti dalsi php. Neni problem. Jediny zadrhel, ze musis mit spustene okno prohlizece. A idealne si vypisovat stav, zda se podarilo se serverem spojit, cas, abys vedel, zda okno jeste bezi nebo zkapalo.

Otazkou je, k cemu te tedy potrebujes?
Je tu jeste treti reseni. To se dela treba u her. Kdyz se uzivatel prihlasi, potrebuji prepocitat ztraty a zisky. Coz neni problem spocitat v zavislosti na poslednim prihlaseni, treba 50x provest nejaky prikaz nebo do prikazu predat rozdil casu, do vzorce zahrnout cas. Neni treba to resis pres cron.

 
Nahoru Odpovědět
21.5.2018 8:26
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.